`

jquery小结5

阅读更多
1 jquery拖拉插件
      $(function() {
            //以透明度0.35随意拖动
            $("#divDragD").draggable({ opacity: 0.35 });
            //以透明度0.35随意在X轴方向拖动
            $("#divDragX").draggable({ axis: "x", opacity: 0.35 });
            //以透明度0.35随意在父窗口中拖动,拖动后返回原地
            $("#divDragC").draggable(
            { containment: "parent",
                opacity: 0.35,
                revert: true
            });
        })
         其中draggable后跟要拖动的各参数值,具体见jquery ui手册、、
2 droppable放置 ,比如做购物车的拖拉功能
      $(function() {
            //以透明度0.35随意拖动
            $(".divDrag").draggable({ opacity: 0.35 });
            $("#divCart").droppable({
                drop: function() {
                    $(this)
                .addClass("divGet") //改变购物车的CSS
                .append($("<div></div>"))
                .find("#divTip").remove(); //删除原有内容
                }
            })
        })
    <div id="divFrame">
         <div class="divLeft">
              <div class="divTitle">产品</div>
              <div class="divDrag">
                  <img alt="" src="Images-8-2/img03.jpg" />
              </div>
            
         </div>
         <div class="divRight">
              <div class="divTitle">购物车</div>
              <div id="divCart">
                  <div id="divTip">还没有产品</div>
              </div>
         </div>
    
     </div>

3 jquery ui中的datapicker实现分段选择
     即选择开始日期后,结束日期部分的日历选择时,只能在大于开始日期后才选择
     <script type="text/javascript">
    $(function() {
        $("#txtStart").datepicker( //绑定开始日期
{ changeMonth: true, //显示下拉列表月份
    changeYear: true, //显示下拉列表年份
    showWeek: true, //显示日期对应的星期
    firstDay: "1",
    onSelect: function(dateText, inst) {
        //设置结束日期的最小日期
        $('#txtEnd').datepicker('option', 'minDate', new Date(dateText.replace('-', ',')))
    }
})

        $("#txtEnd").datepicker( //绑定结束日期
{ changeMonth: true, //显示下拉列表月份
    changeYear: true, //显示下拉列表年份
    showWeek: true, //显示日期对应的星期
    firstDay: "1",
    onSelect: function(dateText, inst) {
        //设置开始日期的最大日期
        $('#txtStart').datepicker('option', 'maxDate', new Date(dateText.replace('-', ',')))
    }
})
    }) </script>

4 对话框
    $(function() {
        $("#btnSubmit").bind("click", function() { //检测按钮事件
            if ($("#txtName").val() == "") { //如果文本框为空
                sys_Alert("姓名不能为空!请输入姓名");
            }
        });
        function sys_Alert(content) { //弹出提示信息窗口
        $("#dialog-modal").dialog({
            height: 140,
            modal: true,
            title: '系统提示',
            hide: 'slide',
            buttons: {
                Cancel: function() {
                    $(this).dialog("close");
                }
            },
            open: function(event, ui) {
                $(this).html("");
                $(this).append("" + content + "
");
            }
        });
    }

    function sys_Confirm(content) { //弹出询问信息窗口
        $("#dialog-modal").dialog({
            height: 140,
            modal: true,
            title: '系统提示',
            hide: 'slide',
            buttons: {
                '确定': function() {
                    $("#spnName").remove();
                    $(this).dialog("close");
                },
                '取消': function() {
                    $(this).dialog("close");
                }
            },
            open: function(event, ui) {
                $(this).html("");
                $(this).append("" + content + "
");
            }
        });
    }

5 jquery的工具函数
    1)浏览器检测
           <script type="text/javascript">
        $(function() {
            var strTmp = "您的浏览器名称是:";
            if ($.browser.msie) { //IE浏览器
                strTmp += "IE";
            }
            if ($.browser.mozilla) { //火狐相关浏览器
                strTmp += "Mozilla FireFox";
            }
            strTmp += " 版本号是:" //获取版本号
                   + $.browser.version;
            $("#divTip").html(strTmp);
        })
    </script>
   2) 数组和对象
       each遍历:
       unction() {
            var arrStu = { "张三:": "60", "李四:": "70", "王二:": "80" }
            var strContent = "<li class='title'>姓名:分数</li>";
            $.each(arrStu, function(Name, Value) {
                strContent += "
  • " + Name + Value + "
  • ";
                })
        3)$.grep() ,比如查找大于5且序号小于8的元素
              var strTmp = "变更前数据:";
                var arrNum = [2, 8, 3, 7, 4, 9, 3, 10, 9, 7, 21];
                var arrGet = $.map(arrNum, function(ele, index) {
                    if (ele > 5 && index < { //元素值大于5且序号小于8
                        return ele + 1; //元素增加1
                    }
                })
                strTmp += arrNum.join();
                strTmp += "<br/><br>变更后数据:"
                strTmp += arrGet.join();
        4)$.map() ,可以变更数组中的元素
            var strTmp = "变更前数据:";
                var arrNum = [2, 8, 3, 7, 4, 9, 3, 10, 9, 7, 21];
                var arrGet = $.map(arrNum, function(ele, index) {
                    if (ele > 5 && index < { //元素值大于5且序号小于8
                        return ele + 1; //元素增加1
                    }
                })
                strTmp += arrNum.join();
                strTmp += "<br/><br>变更后数据:"
                strTmp += arrGet.join();

       5) $.inArray()
               在数组中找某个元素,找到返回索引号,找不到则返回-1,
             $.inArray(value,array),value:要检索的对象
       6) $.contains(container,contained)
                 检查一个dom节点中是否包含另外一个dom节点,如果container包含contained,则返回true

           7)$.param()对数组序列化
           将对象序列化后可传输的URL
            如:
            var arrInfo = { id: 101, name: "tao", sex: 0 };
                 var arrNewInfo = $.param(arrInfo);
           变为id=101&name=tao&sex=0
          $.extend()扩展工具函数
          比如搞个求两数中的最大值
          ; (function($) {
                $.extend({
                    "MaxNum": function(p1, p2) {
                        return (p1 > p2) ? p1 : p2;
                    }
                });
            })(jQuery);
           使用$.MaxNum(5,6);
       
    6 性能优化
        
          1)有id,TAG,class三者情况下,用id访问速度最快
       2) 优化事件中的冒泡,通过target()方法,获取父元素,并为该元素绑定一个事件,比如:
        <fieldset id="frame" style="width:200px">
              <legend>输入信息</legend>
              <div>姓名:<input id="Text1" type="text"/></div>
              <div>性别:<input id="Text2" type="text" /></div>
              <div>年龄:<input id="Text3" type="text" /></div>
            </fieldset>
          $(function() {
                $("#frame").bind("click", function(e) {
                    $objChild = $(e.target);//捕捉触发事件的元素
                    $objChild.addClass("txt");//增加子元素的样式
                })
            });
          $objChild = $(e.target);获得触发事件的元素,将事件绑定传递到父元素中,通过冒泡
    传递到各子元素,使各个子元素也被同样绑定,比逐个input快
        
       3)可以通过xxxx.data(name,value),设置缓存数据,包括设置json,移除为
        removeData(name)
          4)减少对dom元素的操作,一次操作多点
              var arrList = ["list0", "list1", "list2", "list3", "list4", "list5"];
                var strList = ""; //初始化字符
                $.each(arrList, function(index) {
                    //遍历后累加数组元素
                    strList += ("
  • " + arrList[index] + "
  • ");
                })
                //一次性完成DOM元素的增加
                $("#ulFrame").append(strList);
          5) dom对象与JQUERY对象的类型转换
             dom向jquery转换:
                  <div id="div0"></div>
        <div id="div1"></div>
                 $(function() {
                //***** DOM对象转成jQuery对象 *****//
                //DOM对象
                var objDom0 = document.getElementById("div0");
                //转成jQuery对象
                var $obj0 = $(objDom0);
                //调用jQuery中的方法设置其中的内容
                $obj0.html("DOM对象转成jQuery对象后设置的内容");

                //***** jQuery对象转成DOM对象 *****//
                //jQuery对象
                var $obj1 = $("#div1");
                //转成DOM对象
                var objDom1 = $obj1.get(0);
                //调用JavaScript中的对象方法设置内容
                objDom1.innerHTML = "jQuery对象转成DOM对象后设置的内容";
            })
         
    5
    1
    分享到:
    评论
    1 楼 daixu2008 2011-10-20  
    代码内的表情很给力!

    相关推荐

      jquery总结学习资料JQuery总结,jquery总结学习资料JQuery总结,jquery总结学习资料JQuery总结

      - **轻量级**:尽管功能强大,但jQuery的核心库体积小,加载速度快。 - **跨浏览器兼容**:jQuery兼容多种主流浏览器,包括IE 6.0+、Firefox 1.5+、Safari 2.0+、Opera 9.0+。 - **CSS和XPath选择器支持**:...

      jquery总结学习资料JQuery总结

      **jQuery 总结** 在实际开发中,jQuery 可以极大地提高工作效率,减少代码量,使得动态交互和界面美化变得更加简单。然而,随着 ES6 和现代前端框架的崛起,如 React 和 Vue,jQuery 在某些场景下可能不再是首选。...

      jQuery1.4.1 小结

      **jQuery1.4.1 小结** jQuery 是一个广泛使用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。在本文中,我们将深入探讨jQuery 1.4.1版本的一些核心特性、改进和常用API。 #...

      jquery 学习笔记总结

      **jQuery 学习笔记总结** jQuery 是一个广泛使用的 JavaScript 库,它简化了网页文档对象模型(DOM)操作、事件处理、动画制作以及Ajax交互。本篇笔记将深入探讨 jQuery 的核心概念,包括选择器、常用方法以及在...

      jquery技巧总结(转)

      **jQuery 技巧总结** jQuery 是一款非常流行的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画制作和Ajax交互等任务。自2006年发布以来,jQuery 已经成为 web 开发不可或缺的一部分。这篇总结将探讨一些...

      JQuery个人总结(很全面)

      目录: 1.选择网页元素 2.改变结果集 3.链式操作 4.元素的操作:取值和赋值 5.元素的操作:移动 6.元素的操作:复制、删除和创建 7.工具方法 8.事件操作 9.特殊效果

      JQuery学习总结及实例中文WORD版

      资源名称:JQuery 学习总结及实例 中文WORD版内容简介:普通Javascript的缺点:每种控件的操作方式不统一,不同浏览器下有区别,要编写跨浏览器的程序非常麻烦。因此出现了很多对Javascript 的封装库,...

      Jquery全集 Jquery总结

      ### 5. jQuery 扩展 jQuery 的可扩展性极强,可以通过 `$.fn.extend()` 创建自定义插件。这允许开发者根据需求定制功能,如自定义动画、表单验证等。 ### 6. 总结文档的价值 提供的总结文档将对以上内容进行归纳...

      JQuery入门,JQuery总结

      **jQuery入门与总结** jQuery是一个深受开发者喜爱的JavaScript库,它的出现极大地方便了JavaScript的编程,使得HTML元素的选择、操作和隐藏等任务变得更加简单。jQuery的核心理念是"write less, do more",即用更...

      Jquery.validate表单验证小结

      ### Jquery.validate表单验证详解 #### 一、引言 在Web开发中,表单验证是确保数据质量的关键步骤。传统的JavaScript表单验证方法往往冗长且难以维护,而jQuery Validate插件则以其简洁、高效及易于扩展的特性成为...

      Jquery演示 jquerydemo jquery常用

      总结,jQuery不仅简化了JavaScript编程,还提供了丰富的功能和强大的性能。通过学习和实践jQuery,你可以构建更具交互性的网页应用,提升用户体验。这个"jQuerydemo"压缩包中的案例,将会是你学习和探索jQuery的宝贵...

      Jquery全集,Jquery总结

      **jQuery 全集与总结** jQuery 是一个广泛使用的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画以及Ajax交互等任务。自2006年发布以来,jQuery 已经成为了前端开发中不可或缺的一部分,因其简洁的API和...

      Jquery下載,Jquery-3.5.1

      5. **Ajax**: jQuery 的 `$.ajax()` 方法简化了异步数据获取,支持 JSON, XML, HTML 等多种格式的数据交互。此外,还有 `$.get()`, `$.post()` 等简化的接口。 ### LINQ 风格的链式操作 jQuery 的设计受到了 .NET ...

      jquery1.4.2 jquery1.4.2

      总结,jQuery 1.4.2作为一个经典版本,不仅提供了丰富的功能,也奠定了现代前端开发的基础。无论你是初学者还是经验丰富的开发者,理解和掌握jQuery 1.4.2都将对你的Web开发技能有着深远的影响。

      jquery总结 Js总结 PHP与jquery

      **jQuery 知识总结** jQuery 是一个高效、简洁且功能丰富的 JavaScript 库,它极大地简化了 JavaScript 的DOM操作、事件处理、动画制作以及Ajax交互。jQuery 的核心特性可以概括为:选择器、DOM操作、事件处理、...

      jQuery总结xmind图超级详细

      jQuery是对JavaScript的封装,使用jQuery可以简化很多之前的JavaScript代码,简化开发 本人学习jQuery是通过xmind这款软件来记载的 现在把资源贡献给大家,希望给更多的人更深入的了解jQuery 也可以查询我的博客看...

    Global site tag (gtag.js) - Google Analytics