• 20个热门jQuery的提示和技巧
    时间:2012-08-09   作者:站长中心   出处:cnblogs.com/jxlazzw

    以下是一些非常有用的jQuery提示和所有jQuery的开发技巧。我分享这些,因为我认为他们将是非常有用的给你。声明:我没有写下面的代码,但已经从Internet收集各种来源。

    1。优化性能复杂的选择

    查询DOM中的一个子集,使用复杂的选择时,大幅提高了性能:
    var subset = $("");
    $("input[value^='']", subset);

    2。设置上下文和提高性能

    jQuery核心功能上,指定上下文参数。指定context参数,允许从DOM中更深的分支,而不是从DOM根,jQuery来启动。鉴于一个足够大的DOM,指定上下文参数转化为性能提升。
    $("input:radio", document.forms[0]);

    3。现场事件处理程序

    设置任何一个选择的元素相匹配的事件处理程序,即使它被添加后的初始页面加载到DOM:
    $('button.someClass').live('click', someFunction);

    这允许你通过Ajax加载内容,或通过JavaScript添加事件处理程序的成立为这些元素正确自动。
     
    同样,要停止现场事件处理:

    4。检查索引

    jQuery有索引,但它是一种痛苦,使用你所需要的元素的列表,并通过元素你想要的指标

    var index = e.g $('#ul>li').index( liDomObject );
    以下是比较容易:
    $("ul > li").click(function ()
    {
        var index = $(this).prevAll().length;
    });
    如果你想知道在一个集合元素的索引,例如在一个无序列表的列表项:

    5。使用jQuery的数据的方法

    jQuery的数据()方法是有用的,不为人所熟知。它可以让你无需修改DOM绑定数据到DOM元素。
    $("ul > li").click(function ()
    {
        var index = $(this).prevAll().length;
    });

    6。删除一个元素的淡出效果基本show效果

    结合多个jQuery效果,动画和删除DOM元素。

    $("#myButton").click(function() {
             $("#myDiv").fadeTo("slow", 0.01, function(){ //fade
                 $(this).slideUp("slow", function() { //slide up
                     $(this).remove(); //then remove from the DOM
                 });
             });
    });

    7。检查是否存在一个元素

    if ($("#someDiv").length) {
        //hooray!!! it exists...
    }
    使用下面的代码片段来检查一个元素是否存在与否。


    8。添加到DOM中动态创建的元素

    使用下面的代码片段来动态创建一个DIV,并添加到DOM。
    var newDiv = $('<div></div>');
    newDiv.attr("id","myNewDiv").appendTo("body");

    9。换行符和chainability的

    而不是做:
     
    $("a").hide().addClass().fadeIn().hide();

    像这样可以增加可读性:
    $("a")
      .hide()
      .addClass()
      .fadeIn()
      .hide();

    10。创建自定义选择

    $.extend($.expr[':'], {
        over100pixels: function(a) {
            return $(a).height() > 100;
        }
    });
     
    $('.box:over100pixels').click(function() {
        alert('The element you clicked is over 100 pixels high');
    });

    11。克隆在jQuery对象

    使用clone()方法。jQuery的方法克隆任何JavaScript中的DOM对象。

    // Clone the DIV
    var cloned = $('#somediv').clone();
    jQuery的clone()方法不克隆一个JavaScript对象。克隆JavaScript对象,使用下面的代码。
    // Shallow copy
    var newObject = jQuery.extend({}, oldObject);
     
    // Deep copy
    var newObject = jQuery.extend(true, {}, oldObject);

    12。测试,如果事情是隐藏使用jQuery

    我们使用。隐藏()。在jQuery的show()方法来改变元素的知名度。使用以下代码来检查一个元素是否是可见或不可见。
    if($(element).is(":visible") == "true") {
           //The element is Visible
    }

    13。另一种方式的文件准备就绪

    //Instead of
    $(document).ready(function() {
        //document ready
    });
    //Use
    $(function(){
        //document ready
    });

    14。选择一个元素。(期),在它的ID

    在选择使用反斜杠来选择的元素,在它的ID期间。
    $("#Address\\.Street").text("Enter this field");

    15。计数的直接子元素

    如果你要计算所有的div#foo的元素存在于
    <div id="foo">
      <div id="bar"></div>
      <div id="baz">
        <div id="biz">
      </div>
      <span><span>
    </div>
     
    //jQuery code to count child elements
    $("#foo > div").size()

    16。做一个“闪存”的元素

    jQuery.fn.flash = function( color, duration )
    {
        var current = this.css( 'color' );
        this.animate( { color: 'rgb(' + color + ')' }, duration / 2 );
        this.animate( { color: current }, duration / 2 );
    }
    //Then use the above function as:
    $( '#importantElement' ).flash( '255,0,0', 1000 );

    17。中心元素在屏幕上

    jQuery.fn.center = function () {
        this.css("position","absolute");
        this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
        this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
        return this;
    }
     
    //Use the above function as:
    $(element).center();

    18。获取父div使用最接近

    如果你想找到的包装纸DIV元素(不论该DIV的ID),然后你会想这个jQuery选择:
    $("#searchBox").closest("div");

    19。禁用右键单击上下文菜单

    还有许多JavaScript片段禁用右键
    单击上下文菜单,但jQuery让事情容易多了:
    $(document).ready(function(){
        $(document).bind("contextmenu",function(e){
            return false;
        });
    });

    20。获取鼠标光标的X和Y轴

    这个脚本会显示X和Y值 - 鼠标指针的坐标。
    $().mousemove(function(e){
        //display the x and y axis values inside the P element
        $('p').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY);
    });
     
    <p></p>  ;

    网友留言/评论

    我要留言/评论

    相关文章

    优秀设计师应当知道的20大UI设计原则:世界级图形设计大师Paul Rand(保罗.兰德)曾经说过:“设计绝不是简单的排列组合与简单地再编辑,它应当充满着价值和意义,去说明道理,去删繁就简,去阐明演绎,去修饰美化,去赞美褒扬,使其有戏剧意味,让人们信服你所言……”,由此可见,设计绝非轻而易举之事,优秀的设计更是难上加难,今日小编偶然发现一篇界面设计师Joshua Porter博客当中的一篇文章——《Principles of User Interface Design》,文章中列举了20大UI设计原则,看完之后,觉得挺受启发,于是试着将其编译,希望能够给广大设计师——特别是刚入门的初级设计师,提供较好的学习机会。
    程序员的时间换算表:一个曾经与我一起工作过的经验丰富的项目经理声称,他拿到程序员的时间估算以后,先将它乘以π,然后转化下一个时间数量级后,才能得到真正的值。1天转化成3.14周。他过去因为程序员不擅长估算时间而吃尽了苦头。我创建了一个用来翻译程序员时间估算的表格,来尽量缩小估算错误。
    心态和想法,是提高编程水平的关键:你是否有时候会觉得自己的技术水平停滞不前,想突破但又找不到门路?最近在stackexchange上看到了一个非常好的问答。有人问:你做过的最有效的提高你的编程水平的一件事情是什么?
    提升Android应用视觉效果的10个UI设计技巧:在Android应用开发中,风格和设计或许不是最关键的要素,但它们在决定Android应用成功与否上确实扮演重要的角色。以下是10个Android应用的UI设计技巧,还有个附加技巧,能够提供你的Android应用的视觉吸引力。
    Android 4.0设计初体验:Android系统是目前智能移动设备中增长速度最快的平台,但App的设计却没有形成自己的风格,绝大都数都是ios风格的移植适配。Google 在去年的10月份发布了Android 4.0 的界面规范,在样式、控件上都做了非常个性化的革新,但由于Rom的多样化,设备的不统一,新的4.0设计规范并没有得到广泛的普及。但以移动设备更新换代的速度,Android 4.0将会是趋势,与ios的差异性也会越来越明显。由于博主的性格属于典型的喜新厌旧,所以打算结合手上的项目做一个吃螃蟹的人…
    浅谈如何留住用户:应用中心,顾名思义就是应用的集合,是承载各种应用的平台。其主要特点是娱乐性强、沉浸感强。它像是一个商店,里面有供人们随意挑选产品的货架,更像是一个游乐场,里面有各种各样让人眼花缭乱、流连忘返的产品。因此,如何吸引用户到我们的产品来,如何让他们在我们的产品上停留更多的时间,这些都是设计师们的必研课题。笔者经过一段时间对应用中心类产品的研究和设计积累,总结了一些设计思考,在此与大家分享。
    你需要一个简单的开始 – Logo设计:所有的LOGO设计师都会经历一个过程。它是“幼稚的”、“可笑的”,我们并不爱公开地展示它们。或许最后并没有给我们带来任何灵感。但是它们将必不可少地存在着,在我们思维层的任何地方,都会潜意识地让我们思考。
    10个让朋友对你刮目相看的CoffeeScript单行代码绝技:或许你已经看过了Marcus Kazmierczak的这篇在HN上颇受欢迎的“10个让朋友对你刮目相看的Scala单行代码绝技”了, 尽管我对Scala并不了解(Java也是),但是这看起来还真不错,于是我也有点手痒, 想让我的朋友们也对我刮目相看一小下——不过不是从Java到Scala,我是从Javascript到CoffeeScript, 下面的例子都是基于node.js环境的。
    程序员学英语:老实说,我对于英语的认识,从没有把它的重要性放到一个足够的高度上来,从去年下半年开始,接触到越来越多的英文材料,也随着视野的开阔,逐渐发现英文能力,是程序员个人发展的必备技能。在很多情况下,它的重要性可以用“致命”来形容。以前有同事说,程序员职业生涯的发展,起到决定作用的,绝大多数时候都不是技术和业务,而是其他被人忽视的“软实力”,譬如沟通、性格、英文等等。兴许我现在正在渐渐参悟这句话的含义。
    程序员看法上的几个典型错误:今天我不谈抱负理想,也不谈具体的技术,我来谈几个看法上的典型错误。下面的这些问题都是我曾经遇到,或者是我的朋友们遇到过的问题,这些都是我个人的理解,希望对大家有帮助。