26个JQuery使用技巧

 

  
  
  
  
  1. The use of the jQuery library is growing and growing(just released jQuery 1.4), more and more people are using this useful javascript library. This means that more and more useful jQuery tips, tricks and solutions are coming available. That’s why i created a small list of 26 cool and useful jQuery tips, tricks and solutions. 
  2.  
  3.  
  4.  
  5. 1. 禁用右键点击(Disable right-click) 
  6. [javascript] view plaincopyprint? 
  7.  
  8.     $(document).ready(function(){   
  9.         $(document).bind("contextmenu",function(e){   
  10.             return false;   
  11.         });   
  12.     });   
  13.  
  14.   
  15.  
  16.   
  17.  
  18. 2. 禁用搜索文本框(Disappearing search field text) 
  19. [javascript] view plaincopyprint? 
  20.  
  21.     $(document).ready(function() {   
  22.     $("input.text1").val("Enter your search text here");   
  23.        textFill($('input.text1'));   
  24.     });   
  25.        
  26.         function textFill(input){ //input focus text function   
  27.         var originalvalue = input.val();   
  28.         input.focus( function(){   
  29.             if( $.trim(input.val()) == originalvalue ){ input.val(''); }   
  30.         });   
  31.         input.blur( function(){   
  32.             if( $.trim(input.val()) == '' ){ input.val(originalvalue); }   
  33.         });   
  34.     }   
  35.  
  36.   
  37.  
  38.   
  39.  
  40. 3. 新窗口打开链接(Opening links in a new window) 
  41. [javascript] view plaincopyprint? 
  42.  
  43.     $(document).ready(function() {   
  44.        //Example 1: Every link will open in a new window   
  45.        $('a[href^="http://"]').attr("target""_blank");   
  46.        
  47.        //Example 2: Links with the rel="external" attribute will only open in a new window   
  48.        $('a[@rel$='external']').click(function(){   
  49.           this.target = "_blank";   
  50.        });   
  51.     });   
  52.     // how to use   
  53.     <a href="http://www.opensourcehunter.com" rel="external">open link</a>   
  54.  
  55.   
  56.  
  57.   
  58.  
  59. 4. 检测浏览器(Detect browser) 
  60. [javascript] view plaincopyprint? 
  61.  
  62.     $(document).ready(function() {   
  63.     // Target Firefox 2 and above   
  64.     if ($.browser.mozilla && $.browser.version >= "1.8" ){   
  65.         // do something   
  66.     }   
  67.        
  68.     // Target Safari   
  69.     if( $.browser.safari ){   
  70.         // do something   
  71.     }   
  72.        
  73.     // Target Chrome   
  74.     if( $.browser.chrome){   
  75.         // do something   
  76.     }   
  77.        
  78.     // Target Camino   
  79.     if( $.browser.camino){   
  80.         // do something   
  81.     }   
  82.        
  83.     // Target Opera   
  84.     if( $.browser.opera){   
  85.         // do something   
  86.     }   
  87.        
  88.     // Target IE6 and below   
  89.     if ($.browser.msie && $.browser.version <= 6 ){   
  90.         // do something   
  91.     }   
  92.        
  93.     // Target anything above IE6   
  94.     if ($.browser.msie && $.browser.version > 6){   
  95.         // do something   
  96.     }   
  97.     });   
  98.  
  99.   
  100.  
  101.   
  102.  
  103. 5. 预加载图片(Preloading images) 
  104. [javascript] view plaincopyprint? 
  105.  
  106.     $(document).ready(function() {   
  107.     jQuery.preloadImages = function()   
  108.     {   
  109.       for(var i = 0; i<arguments.length; i++)="" {="" jquery("<img="">").attr("src", arguments[i]);   
  110.       }   
  111.     }   
  112.     // how to use   
  113.     $.preloadImages("image1.jpg");   
  114.     });   
  115.     </arguments.length;>   
  116.  
  117.   
  118.  
  119.   
  120.  
  121. 6. 样式筛选(CSS Style switcher) 
  122. [javascript] view plaincopyprint? 
  123.  
  124.     $(document).ready(function() {   
  125.         $("a.Styleswitcher").click(function() {   
  126.             //swicth the LINK REL attribute with the value in A REL attribute   
  127.             $('link[rel=stylesheet]').attr('href' , $(this).attr('rel'));   
  128.         });   
  129.     // how to use   
  130.     // place this in your header   
  131.     <link rel="stylesheet" href="default.css" type="text/css">   
  132.     // the links   
  133.     <a href="#" class="Styleswitcher" rel="default.css">Default Theme</a>   
  134.     <a href="#" class="Styleswitcher" rel="red.css">Red Theme</a>   
  135.     <a href="#" class="Styleswitcher" rel="blue.css">Blue Theme</a>   
  136.     });   
  137.  
  138.   
  139.  
  140.   
  141.  
  142. 7. 列高度相同(Columns of equal height) 
  143. [javascript] view plaincopyprint? 
  144.  
  145.     $(document).ready(function() {   
  146.     function equalHeight(group) {   
  147.         tallest = 0;   
  148.         group.each(function() {   
  149.             thisHeight = $(this).height();   
  150.             if(thisHeight > tallest) {   
  151.                 tallest = thisHeight;   
  152.             }   
  153.         });   
  154.         group.height(tallest);   
  155.     }   
  156.     // how to use   
  157.     $(document).ready(function() {   
  158.         equalHeight($(".left"));   
  159.         equalHeight($(".right"));   
  160.     });   
  161.     });   
  162.  
  163.   
  164.  
  165.   
  166.  
  167. 8. 字体大小调整(Font resizing) 
  168. [javascript] view plaincopyprint? 
  169.  
  170.     $(document).ready(function() {   
  171.       // Reset the font size(back to default)   
  172.       var originalFontSize = $('html').css('font-size');   
  173.         $(".resetFont").click(function(){   
  174.         $('html').css('font-size', originalFontSize);   
  175.       });   
  176.       // Increase the font size(bigger font0   
  177.       $(".increaseFont").click(function(){   
  178.         var currentFontSize = $('html').css('font-size');   
  179.         var currentFontSizeNum = parseFloat(currentFontSize, 10);   
  180.         var newFontSize = currentFontSizeNum*1.2;   
  181.         $('html').css('font-size', newFontSize);   
  182.         return false;   
  183.       });   
  184.       // Decrease the font size(smaller font)   
  185.       $(".decreaseFont").click(function(){   
  186.         var currentFontSize = $('html').css('font-size');   
  187.         var currentFontSizeNum = parseFloat(currentFontSize, 10);   
  188.         var newFontSize = currentFontSizeNum*0.8;   
  189.         $('html').css('font-size', newFontSize);   
  190.         return false;   
  191.       });   
  192.     });   
  193.  
  194.   
  195.  
  196.   
  197.  
  198. 9. 返回页面顶部(Smooth(animated) page scroll) 
  199. [javascript] view plaincopyprint? 
  200.  
  201.     $(document).ready(function() {   
  202.     $('a[href*=#]').click(function() {   
  203.      if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')   
  204.      && location.hostname == this.hostname) {   
  205.        var $target = $(this.hash);   
  206.        $target = $target.length && $target   
  207.        || $('[name=' + this.hash.slice(1) +']');   
  208.        if ($target.length) {   
  209.       var targetOffset = $target.offset().top;   
  210.       $('html,body')   
  211.       .animate({scrollTop: targetOffset}, 900);   
  212.         return false;   
  213.        }   
  214.       }   
  215.       });   
  216.     // how to use   
  217.     // place this where you want to scroll to   
  218.     <a name="top"></a>   
  219.     // the link   
  220.     <a href="#top">go to top</a>   
  221.     });   
  222.  
  223.   
  224.  
  225.   
  226.  
  227. 11. 获取鼠标的xy坐标(Get the mouse cursor x and y axis) 
  228. [javascript] view plaincopyprint? 
  229.  
  230.     $(document).ready(function() {   
  231.        $().mousemove(function(e){   
  232.          //display the x and y axis values inside the div with the id XY   
  233.         $('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY);   
  234.       });   
  235.     // how to use   
  236.     <div id="XY"></div>   
  237.        
  238.     });   
  239.  
  240.   
  241.  
  242.   
  243.  
  244. 12. 验证元素是否为空(Verify if an Element is empty) 
  245. [javascript] view plaincopyprint? 
  246.  
  247.     $(document).ready(function() {   
  248.       if ($('#id').html()) {   
  249.        // do something   
  250.        }   
  251.     });   
  252.  
  253.   
  254.  
  255. 13. 替换元素(Replace a element) 
  256. [javascript] view plaincopyprint? 
  257.  
  258.     $(document).ready(function() {   
  259.        $('#id').replaceWith('   
  260.     <div>I have been replaced</div>   
  261.        
  262.     ');   
  263.     });   
  264.  
  265.   
  266.  
  267. 14. 延迟加载(jQuery timer callback functions) 
  268. [javascript] view plaincopyprint? 
  269.  
  270.     $(document).ready(function() {   
  271.        window.setTimeout(function() {   
  272.          // do something   
  273.        }, 1000);   
  274.     });   
  275.  
  276.   
  277.  
  278. 15. 移除单词(Remove a word) 
  279. [javascript] view plaincopyprint? 
  280.  
  281.     $(document).ready(function() {   
  282.        var el = $('#id');   
  283.        el.html(el.html().replace(/word/ig, ""));   
  284.     });   
  285.  
  286.   
  287.  
  288. 16. 验证元素是否存在(Verify that an element exists in jQuery) 
  289. [javascript] view plaincopyprint? 
  290.  
  291.     $(document).ready(function() {   
  292.        if ($('#id').length) {   
  293.       // do something   
  294.       }   
  295.     });   
  296.  
  297.   
  298.  
  299. 17. 使整个DIV可点击(Make the entire DIV clickable) 
  300. [javascript] view plaincopyprint? 
  301.  
  302.     $(document).ready(function() {   
  303.         $("div").click(function(){   
  304.           //get the url from href attribute and launch the url   
  305.           window.location=$(this).find("a").attr("href"); return false;   
  306.         });   
  307.     // how to use   
  308.     <div><a href="index.html">home</a></div>   
  309.        
  310.     });   
  311.  
  312.   
  313.  
  314. 18. id和class切换(Switch between classes or id’s when resizing the window) 
  315. [javascript] view plaincopyprint? 
  316.  
  317.     $(document).ready(function() {   
  318.        function checkWindowSize() {   
  319.         if ( $(window).width() > 1200 ) {   
  320.             $('body').addClass('large');   
  321.         }   
  322.         else {   
  323.             $('body').removeClass('large');   
  324.         }   
  325.        }   
  326.     $(window).resize(checkWindowSize);   
  327.     });   
  328.  
  329.   
  330.  
  331. 19. 克隆对象(Clone a object) 
  332. [javascript] view plaincopyprint? 
  333.  
  334.     $(document).ready(function() {   
  335.        var cloned = $('#id').clone();   
  336.     // how to use   
  337.     <div id="id"></div>   
  338.        
  339.     });   
  340.  
  341.   
  342.  
  343. 20. 使元素居中屏幕(Center an element on the screen) 
  344. [javascript] view plaincopyprint? 
  345.  
  346.     $(document).ready(function() {   
  347.       jQuery.fn.center = function () {   
  348.           this.css("position","absolute");   
  349.           this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");   
  350.           this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");   
  351.           return this;   
  352.       }   
  353.       $("#id").center();   
  354.     });   
  355.  
  356.   
  357.  
  358. 21. 自定义选择器(Write our own selector) 
  359. [javascript] view plaincopyprint? 
  360.  
  361.     $(document).ready(function() {   
  362.        $.extend($.expr[':'], {   
  363.            moreThen1000px: function(a) {   
  364.                return $(a).width() > 1000;   
  365.           }   
  366.        });   
  367.       $('.box:moreThen1000px').click(function() {   
  368.           // creating a simple js alert box   
  369.           alert('The element that you have clicked is over 1000 pixels wide');   
  370.       });   
  371.     });   
  372.  
  373.   
  374.  
  375. 22. 统计元素个数(Count a element) 
  376. [javascript] view plaincopyprint? 
  377.  
  378.     $(document).ready(function() {   
  379.        $("p").size();   
  380.     });   
  381.  
  382.   
  383.  
  384. 23. 自定义Bullets(Use Your Own Bullets) 
  385. [javascript] view plaincopyprint? 
  386.  
  387.     $(document).ready(function() {   
  388.        $("ul").addClass("Replaced");   
  389.        $("ul > li").prepend("‒ ");   
  390.      // how to use   
  391.      ul.Replaced { list-style : none; }   
  392.     });   
  393.  
  394.   
  395.  
  396. 24. 引用google分发的jQuery(Let Google host jQuery for you) 
  397. [javascript] view plaincopyprint? 
  398.  
  399.     //Example 1   
  400.     <script src="http://www.google.com/jsapi"></script>   
  401.     <script type="text/javascript">   
  402.     google.load("jquery""1.2.6");   
  403.     google.setOnLoadCallback(function() {   
  404.         // do something   
  405.     });   
  406.     </script><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>   
  407.        
  408.      // Example 2:(the best and fastest way)   
  409.     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>   
  410.  
  411.   
  412.  
  413. 25. 禁用jQuery动画(Disable jQuery animations) 
  414. [javascript] view plaincopyprint? 
  415.  
  416.     $(document).ready(function() {   
  417.         jQuery.fx.off = true;   
  418.     });   
  419.  
  420.   
  421.  
  422. 26. 防止不兼容冲突(No conflict-mode) 
  423. [javascript] view plaincopyprint? 
  424.  
  425.     $(document).ready(function() {   
  426.        var $jq = jQuery.noConflict();   
  427.        $jq('#id').show();   
  428.     });   
  429.  
  430. 参考推荐: 
  431. jQuery 
  432. jQuery UI 
  433. 14 days of jQuery 
  434. Learning jQuery 
  435. Cheatsheet jQuery 1.1.3 
  436. Improve your jQuery – 25 excellent tips 

 

你可能感兴趣的:(jquery,技巧)