[转帖]26 个 jQuery使用技巧_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3497 | 回复: 0   主题: [转帖]26 个 jQuery使用技巧        下一篇 
zhou
注册用户
等级:中校
经验:2210
发帖:125
精华:6
注册:2012-11-19
状态:离线
发送短消息息给zhou 加好友    发送短消息息给zhou 发消息
发表于: IP:您无权察看 2012-11-26 11:00:43 | [全部帖] [楼主帖] 楼主

26 个 jQuery使用技巧

 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.


1. 禁用右键点击(Disable right-click)

[javascript]view plaincopyprint?

  1. (document).ready(function(){ 
  2.        (document).bind("contextmenu",function(e){ 
  3.              return false; 
  4.        }); 
  5. }); 

(document).ready(function(){
       (document).bind("contextmenu",function(e){
             return false;
       });
});


2. 禁用搜索文本框(Disappearing search field text)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.       ("input.text1").val("Enter your search text here"); 
  3.        textFill(('input.text1')); 
  4. }); 
  5.  function textFill(input){ //input focus text function 
  6.        var originalvalue = input.val(); 
  7.        input.focus( function(){ 
  8.        if( .trim(input.val()) == originalvalue ){ input.val(''); } 
  9.        }); 
  10.        input.blur( function(){ 
  11.        if( .trim(input.val()) == '' ){ input.val(originalvalue); } 
  12.        }); 

(document).ready(function() {
      ("input.text1").val("Enter your search text here");
       textFill(('input.text1'));
});
function textFill(input){ //input focus text function
var originalvalue = input.val();
input.focus( function(){
if( .trim(input.val()) == originalvalue ){ input.val(''); }
});
input.blur( function(){
if( .trim(input.val()) == '' ){ input.val(originalvalue); }
});
}


3. 新窗口打开链接(Opening links in a new window)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        //Example 1: Every link will open in a new window 
  3.        ('a[href^="http://"]').attr("target", "_blank"); 
  4.       
  5.        //Example 2: Links with the rel="external" attribute will only open in a new window 
  6.        ('a[@rel='external']').click(function(){ 
  7.              this.target = "_blank"; 
  8.        }); 
  9. }); 
  10. // how to use 
  11. <a href="http://www.opensourcehunter.com" rel="external">open link</a> 

(document).ready(function() {
       //Example 1: Every link will open in a new window
       ('a[href^="http://"]').attr("target", "_blank");
       //Example 2: Links with the rel="external" attribute will only open in a new window
       ('a[@rel='external']').click(function(){
             this.target = "_blank";
       });
});
// how to use
<a href="http://www.opensourcehunter.com" rel="external">open link</a>


4. 检测浏览器(Detect browser)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.       // Target Firefox 2 and above 
  3.       if (.browser.mozilla && .browser.version >= "1.8" ){ 
  4.              // do something 
  5.       } 
  6.       
  7.       // Target Safari 
  8.       if( .browser.safari ){ 
  9.              // do something 
  10.       } 
  11.       
  12.       // Target Chrome 
  13.       if( .browser.chrome){ 
  14.              // do something 
  15.       } 
  16.       
  17.       // Target Camino 
  18.       if( .browser.camino){ 
  19.              // do something 
  20.       } 
  21.       
  22.       // Target Opera 
  23.       if( .browser.opera){ 
  24.              // do something 
  25.       } 
  26.       
  27.       // Target IE6 and below 
  28.       if (.browser.msie && .browser.version <= 6 ){ 
  29.              // do something 
  30.       } 
  31.       
  32.       // Target anything above IE6 
  33.       if (.browser.msie && .browser.version > 6){ 
  34.              // do something 
  35.       } 
  36. }); 

(document).ready(function() {
      // Target Firefox 2 and above
      if (.browser.mozilla && .browser.version >= "1.8" ){
             // do something
      }
      // Target Safari
      if( .browser.safari ){
             // do something
      }
      // Target Chrome
      if( .browser.chrome){
             // do something
      }
      // Target Camino
      if( .browser.camino){
             // do something
      }
      // Target Opera
      if( .browser.opera){
             // do something
      }
      // Target IE6 and below
      if (.browser.msie && .browser.version <= 6 ){
             // do something
      }
      // Target anything above IE6
      if (.browser.msie && .browser.version > 6){
             // do something
      }
});


5. 预加载图片(Preloading images)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.       jQuery.preloadImages = function() 
  3.       { 
  4.              for(var i = 0; i<arguments.length; i++)="" {="" jquery("<img="">").attr("src", arguments[i]); 
  5.              } 
  6.       } 
  7.       // how to use 
  8.       .preloadImages("image1.jpg"); 
  9. }); 
  10. </arguments.length;> 

(document).ready(function() {
      jQuery.preloadImages = function()
      {
             for(var i = 0; i<arguments.length; i++)="" {="" jquery("<img="">").attr("src", arguments[i]);
             }
      }
      // how to use
      .preloadImages("image1.jpg");
});
</arguments.length;>


6. 样式筛选(CSS Style switcher)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        ("a.Styleswitcher").click(function() { 
  3.              //swicth the LINK REL attribute with the value in A REL attribute 
  4.              ('link[rel=stylesheet]').attr('href' , (this).attr('rel')); 
  5.        }); 
  6.       // how to use 
  7.       // place this in your header 
  8.       <link rel="stylesheet" href="default.css" type="text/css"> 
  9.       // the links 
  10.       <a href="#" class="Styleswitcher" rel="default.css">Default Theme</a> 
  11.       <a href="#" class="Styleswitcher" rel="red.css">Red Theme</a> 
  12.       <a href="#" class="Styleswitcher" rel="blue.css">Blue Theme</a> 
  13. }); 

(document).ready(function() {
       ("a.Styleswitcher").click(function() {
             //swicth the LINK REL attribute with the value in A REL attribute
             ('link[rel=stylesheet]').attr('href' , (this).attr('rel'));
       });
      // how to use
      // place this in your header
      <link rel="stylesheet" href="default.css" type="text/css">
      // the links
      <a href="#" class="Styleswitcher" rel="default.css">Default Theme</a>
      <a href="#" class="Styleswitcher" rel="red.css">Red Theme</a>
      <a href="#" class="Styleswitcher" rel="blue.css">Blue Theme</a>
});


7. 列高度相同(Columns of equal height)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.       function equalHeight(group) { 
  3.              tallest = 0; 
  4.              group.each(function() { 
  5.                    thisHeight = (this).height(); 
  6.                    if(thisHeight > tallest) { 
  7.                          tallest = thisHeight; 
  8.                    } 
  9.              }); 
  10.              group.height(tallest); 
  11.       } 
  12.       // how to use 
  13.       (document).ready(function() { 
  14.              equalHeight((".left")); 
  15.              equalHeight((".right")); 
  16.       }); 
  17. }); 

(document).ready(function() {
      function equalHeight(group) {
             tallest = 0;
             group.each(function() {
                   thisHeight = (this).height();
                   if(thisHeight > tallest) {
                         tallest = thisHeight;
                   }
             });
             group.height(tallest);
      }
      // how to use
      (document).ready(function() {
             equalHeight((".left"));
             equalHeight((".right"));
      });
});


8. 字体大小调整(Font resizing)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        // Reset the font size(back to default) 
  3.        var originalFontSize = ('html').css('font-size'); 
  4.        (".resetFont").click(function(){ 
  5.              ('html').css('font-size', originalFontSize); 
  6.        }); 
  7.        // Increase the font size(bigger font0 
  8.        (".increaseFont").click(function(){ 
  9.              var currentFontSize = ('html').css('font-size'); 
  10.              var currentFontSizeNum = parseFloat(currentFontSize, 10); 
  11.              var newFontSize = currentFontSizeNum*1.2; 
  12.              ('html').css('font-size', newFontSize); 
  13.              return false; 
  14.        }); 
  15.        // Decrease the font size(smaller font) 
  16.        (".decreaseFont").click(function(){ 
  17.              var currentFontSize = ('html').css('font-size'); 
  18.              var currentFontSizeNum = parseFloat(currentFontSize, 10); 
  19.              var newFontSize = currentFontSizeNum*0.8; 
  20.              ('html').css('font-size', newFontSize); 
  21.              return false; 
  22.        }); 
  23. }); 

(document).ready(function() {
       // Reset the fontnbsp&size(back to default)
       var originalFontSize = ('html').css('font-size');
       (".resetFont").click(function(){
             ('html').css('font-size', originalFontSize);
       });
       // Increase the fontnbsp&size(bigger font0
       (".increaseFont").click(function(){
             var currentFontSize = ('html').css('font-size');
             var currentFontSizeNum = parseFloat(currentFontSize, 10);
             var newFontSize = currentFontSizeNum*1.2;
             ('html').css('font-size', newFontSize);
             return false;
       });
       // Decrease the fontnbsp&size(smaller font)
       (".decreaseFont").click(function(){
             var currentFontSize = ('html').css('font-size');
             var currentFontSizeNum = parseFloat(currentFontSize, 10);
             var newFontSize = currentFontSizeNum*0.8;
             ('html').css('font-size', newFontSize);
             return false;
       });
});



9. 返回页面顶部(Smooth(animated) page scroll)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.       ('a[href*=#]').click(function() { 
  3.              if (location.pathname.replace(/^//,'') == this.pathname.replace(/^//,'') 
  4.              && location.hostname == this.hostname) { 
  5.                    var target = (this.hash); 
  6.                    target = target.length && target 
  7.                    || ('[name=' + this.hash.slice(1) +']'); 
  8.                    if (target.length) { 
  9.                          var targetOffset = target.offset().top; 
  10.                          ('html,body') 
  11.                    .animate({scrollTop: targetOffset}, 900); 
  12.                          return false; 
  13.                    } 
  14.              } 
  15.        }); 
  16.       // how to use 
  17.       // place this where you want to scroll to 
  18.       <a name="top"></a> 
  19.       // the link 
  20.       <a href="#top">go to top</a> 
  21. }); 

(document).ready(function() {
      ('a[href*=#]').click(function() {
             if (location.pathname.replace(/^//,'') == this.pathname.replace(/^//,'')
             && location.hostname == this.hostname) {
                   var target = (this.hash);
                   target = target.length && target
                   || ('[name=' + this.hash.slice(1) +']');
                   if (target.length) {
                         var targetOffset = target.offset().top;
                         ('html,body')
                   .animate({scrollTop: targetOffset}, 900);
                         return false;
                   }
             }
       });
      // how to use
      // place this where you want to scroll to
      <a name="top"></a>
      // the link
      <a href="#top">go to top</a>
});



11. 获取鼠标的xy坐标(Get the mouse cursor x and y axis)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        ().mousemove(function(e){ 
  3.              //display the x and y axis values inside the div with the id XY 
  4.              ('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY); 
  5.        }); 
  6.       // how to use 
  7.       <div id="XY"></div> 
  8.       
  9. }); 

(document).ready(function() {
       ().mousemove(function(e){
             //display the x and y axis values inside the divnbsp&with the id XY
             ('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY);
       });
      // how to use
      <div id="XY"></div>
});



12. 验证元素是否为空(Verify if an Element is empty)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        if (('#id').html()) { 
  3.              // do something 
  4.        } 
  5. }); 

(document).ready(function() {
       if (('#id').html()) {
             // do something
       }
});


13. 替换元素(Replace a element)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        ('#id').replaceWith(' 
  3.       <div>I have been replaced</div> 
  4.       
  5.       '); 
  6. }); 

(document).ready(function() {
       ('#id').replaceWith('
      <div>I have been replaced</div>
      ');
});


14. 延迟加载(jQuery timer callback functions)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        window.setTimeout(function() { 
  3.              // do something 
  4.        }, 1000); 
  5. }); 

(document).ready(function() {
       window.setTimeout(function() {
             // do something
       }, 1000);
});


15. 移除单词(Remove a word)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        var el = ('#id'); 
  3.        el.html(el.html().replace(/word/ig, "")); 
  4. }); 

(document).ready(function() {
       var el = ('#id');
       el.html(el.html().replace(/word/ig, ""));
});


16. 验证元素是否存在(Verify that an element exists in jQuery)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        if (('#id').length) { 
  3.              // do something 
  4.        } 
  5. }); 

(document).ready(function() {
       if (('#id').length) {
             // do something
       }
});


17. 使整个DIV可点击(Make the entire DIV clickable)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        ("div").click(function(){ 
  3.              //get the url from href attribute and launch the url 
  4.              window.location=(this).find("a").attr("href"); return false; 
  5.        }); 
  6.       // how to use 
  7.       <div><a href="index.html">home</a></div> 
  8.       
  9. }); 

(document).ready(function() {
       ("div").click(function(){
             //get the url from href attribute and launch the url
             window.location=(this).find("a").attr("href"); return false;
       });
      // how to use
      <div><a href="index.html">home</a></div>
});


18. id和class切换(Switch between classes or id’s when resizing the window)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        function checkWindowSize() { 
  3.              if ( (window).width() > 1200 ) { 
  4.                    ('body').addClass('large'); 
  5.              } 
  6.              else { 
  7.                    ('body').removeClass('large'); 
  8.              } 
  9.        } 
  10.       (window).resize(checkWindowSize); 
  11. }); 

(document).ready(function() {
       function checkWindowSize() {
             if ( (window).width() > 1200 ) {
                   ('body').addClass('large');
             }
             else {
                   ('body').removeClass('large');
             }
       }
      (window).resize(checkWindowSize);
});


19. 克隆对象(Clone a object)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        var cloned = ('#id').clone(); 
  3.       // how to use 
  4.       <div id="id"></div> 
  5.       
  6. }); 

(document).ready(function() {
       var cloned = ('#id').clone();
      // how to use
      <div id="id"></div>
});


20. 使元素居中屏幕(Center an element on the screen)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        jQuery.fn.center = function () { 
  3.              this.css("position","absolute"); 
  4.              this.css("top", ( (window).height() - this.height() ) / 2+(window).scrollTop() + "px"); 
  5.              this.css("left", ( (window).width() - this.width() ) / 2+(window).scrollLeft() + "px"); 
  6.              return this; 
  7.        } 
  8.        ("#id").center(); 
  9. }); 

(document).ready(function() {
       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;
       }
       ("#id").center();
});


21. 自定义选择器(Write our own selector)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        .extend(.expr[':'], { 
  3.              moreThen1000px: function(a) { 
  4.                    return (a).width() > 1000; 
  5.              } 
  6.        }); 
  7.        ('.box:moreThen1000px').click(function() { 
  8.              // creating a simple js alert box 
  9.              alert('The element that you have clicked is over 1000 pixels wide'); 
  10.        }); 
  11. }); 

(document).ready(function() {
       .extend(.expr[':'], {
             moreThen1000px: function(a) {
                   return (a).width() > 1000;
             }
       });
       ('.box:moreThen1000px').click(function() {
             // creating a simple js alert box
             alert('The element that you have clicked is over 1000 pixels wide');
       });
});


22. 统计元素个数(Count a element)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        ("p").size(); 
  3. }); 

(document).ready(function() {
       ("p").size();
});


23. 自定义Bullets(Use Your Own Bullets)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        ("ul").addClass("Replaced"); 
  3.        ("ul > li").prepend("‒ "); 
  4.        // how to use 
  5.  ul.Replaced { list-style : none; } 
  6. }); 

(document).ready(function() {
       ("ul").addClass("Replaced");
       ("ul > li").prepend("‒ ");
       // how to use
ul.Replaced { list-style : none; }
});


24. 引用google分发的jQuery(Let Google host jQuery for you)

[javascript]view plaincopyprint?

  1. //Example 1 
  2. <script src="http://www.google.com/jsapi"></script> 
  3. <script type="text/javascript"> 
  4. google.load("jquery", "1.2.6"); 
  5. google.setOnLoadCallback(function() { 
  6.        // do something 
  7. }); 
  8. </script><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script> 
  9.  // Example 2:(the best and fastest way) 
  10. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> 

//Example 1
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.2.6");
google.setOnLoadCallback(function() {
       // do something
});
</script><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>
// Example 2:(the best and fastest way)
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>


25. 禁用jQuery动画(Disable jQuery animations)

[javascript]view plaincopyprint?

  1. (document).ready(function() { 
  2.        jQuery.fx.off = true; 
  3. }); 

(document).ready(function() {
       jQuery.fx.off = true;
});


26. 防止不兼容冲突(No conflict-mode)

[javascript]view plaincopyprint


该贴被zhou编辑于2012-11-26 11:04:31




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论