26个Jquery使用小技巧

 下面列出了一些Jquery使用技巧。比如有禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器、预加载图片、页面样式切换、所有列等高、动态控制页面字体大小、获得鼠标指针的X值Y值、验证元素是否为空、替换元素、延迟加载、验证元素是否存在于Jquery集合中、使DIV可点击、克隆对象、使元素居中、计算元素个数、使用Google主机上的Jquery类库、禁用Jquery效果、解决Jquery类库与其他Javascript类库冲突问题。

1. 禁止右键点击

[javascript] view plain copy print ?
  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. 隐藏搜索文本框文字

[javascript] view plain copy print ?
  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.      });  
  13.  }   
$(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. 在新窗口中打开链接

[javascript] view plain copy print ?
  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.    
  11. // how to use  
  12.  <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. 检测浏览器

注: 在版本jQuery 1.4中,$.support 替换掉了$.browser 变量

[javascript] view plain copy print ?
  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.   
  37.  });   
$(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. 预加载图片

[javascript] view plain copy print ?
  1. $(document).ready(function(){  
  2.  jQuery.preloadImages = function()  
  3.  {  
  4.    for(var i = 0; i<ARGUMENTS.LENGTH; jQuery(?<img { i++)>").attr("src", arguments[i]);  
  5.    }  
  6.  }  
  7.  // how to use  
  8.  $.preloadImages("image1.jpg");   
  9. });   
$(document).ready(function(){
 jQuery.preloadImages = function()
 {
   for(var i = 0; i<ARGUMENTS.LENGTH; jQuery(?<img { i++)>").attr("src", arguments[i]);
   }
 }
 // how to use
 $.preloadImages("image1.jpg"); 
}); 


6. 页面样式切换

[javascript] view plain copy print ?
  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 type=text/css href="default.css">  
  9.  // the links  
  10.  <A class=Styleswitcher href="#" rel=default.css>Default Theme</A>  
  11.  <A class=Styleswitcher href="#" rel=red.css>Red Theme</A>  
  12.  <A class=Styleswitcher href="#" 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 type=text/css href="default.css">
 // the links
 <A class=Styleswitcher href="#" rel=default.css>Default Theme</A>
 <A class=Styleswitcher href="#" rel=red.css>Red Theme</A>
 <A class=Styleswitcher href="#" rel=blue.css>Blue Theme</A>
 });


7. 列高度相同

如果使用了两个CSS列,使用此种方式可以是两列的高度相同。

[javascript] view plain copy print ?
  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. 动态控制页面字体大小

用户可以改变页面字体大小

[javascript] view plain copy print ?
  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.    // Decrease the font size(smaller font)  
  15.    $(".decreaseFont").click(function(){  
  16.      var currentFontSize = $('html').css('font-size');  
  17.      var currentFontSizeNum = parseFloat(currentFontSize, 10);  
  18.      var newFontSize = currentFontSizeNum*0.8;  
  19.      $('html').css('font-size', newFontSize);  
  20.      return false;  
  21.    });  
  22.  });   
  23.    
  24.    
$(document).ready(function() {
   // Reset the font size(back to default)
   var originalFontSize = $('html').css('font-size');
     $(".resetFont").click(function(){
     $('html').css('font-size', originalFontSize);
   });
   // Increase the font 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 font 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. 返回页面顶部功能

[javascript] view plain copy print ?
  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值

[javascript] view plain copy print ?
  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.    }); // how to use  
  6.  <DIV id=XY></DIV>  
  7.    });   
$(document).ready(function() {
    $().mousemove(function(e){
      //display the x and y axis values inside the div with the id XY
     $('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY);
   }); // how to use
 <DIV id=XY></DIV>
   }); 


12. 验证元素是否为空

[javascript] view plain copy print ?
  1. $(document).ready(function() {  
  2.    if ($('#id').html()) {  
  3.     // do something  
  4.     }  
  5.  });  
$(document).ready(function() {
   if ($('#id').html()) {
    // do something
    }
 });


13. 替换元素

[javascript] view plain copy print ?
  1. $(document).ready(function() {  
  2.     $('#id').replaceWith('  
  3.  <DIV>I have been replaced</DIV>  
  4.    ');  
  5.  });   
$(document).ready(function() {
    $('#id').replaceWith('
 <DIV>I have been replaced</DIV>
   ');
 }); 


14. jQuery延时加载功能

[javascript] view plain copy print ?
  1. $(document).ready(function() {  
  2.     window.setTimeout(function() {  
  3.       // do something  
  4.     }, 1000);  
  5.  });   
  6.   
  7.    
$(document).ready(function() {
    window.setTimeout(function() {
      // do something
    }, 1000);
 }); 

 


15. 移除单词功能

[javascript] view plain copy print ?
  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. 验证元素是否存在于jquery对象集合中

[javascript] view plain copy print ?
  1. $(document).ready(function() {  
  2.     if ($('#id').length) {  
  3.    // do something  
  4.    }  
  5.  });   
$(document).ready(function() {
    if ($('#id').length) {
   // do something
   }
 }); 


17. 使整个DIV可点击

[javascript] view plain copy print ?
  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.    });   
$(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之间转换.

当改变Window大小时,在ID与Class之间切换

[javascript] view plain copy print ?
  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. 克隆对象

[javascript] view plain copy print ?
  1. $(document).ready(function() {  
  2.     var cloned = $('#id').clone();  
  3.  // how to use  
  4.  <DIV id=id></DIV>  
  5.    });   
$(document).ready(function() {
    var cloned = $('#id').clone();
 // how to use
 <DIV id=id></DIV>
   }); 


20. 使元素居屏幕中间位置

[javascript] view plain copy print ?
  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. 写自己的选择器

[javascript] view plain copy print ?
  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. 统计元素个数

[javascript] view plain copy print ?
  1. $(document).ready(function() {  
  2.     $("p").size();  
  3.  });   
$(document).ready(function() {
    $("p").size();
 }); 


23. 使用自己的 Bullets

[javascript] view plain copy print ?
  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类库

[javascript] view plain copy print ?
  1. //Example 1  
  2.  <SCRIPT src="http://www.google.com/jsapi"></SCRIPT>  
  3.  <SCRIPT type=text/javascript> google.load("jquery""1.2.6");  
  4.  google.setOnLoadCallback(function() {  
  5.      // do something });  
  6.  </SCRIPT><SCRIPT type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></SCRIPT>  
  7.     // Example 2:(the best and fastest way)  
  8.  <SCRIPT type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></SCRIPT>   
  9.    
//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 type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></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(动画)效果

[javascript] view plain copy print ?
  1. $(document).ready(function() {  
  2.     jQuery.fx.off = true;  
  3. });   
 $(document).ready(function() {
     jQuery.fx.off = true;
 }); 


26. 与其他Javascript类库冲突解决方案

[javascript] view plain copy print ?
  1. $(document).ready(function() {  
  2.     var $jq = jQuery.noConflict();  
  3.     $jq('#id').show();  
  4.  });   
$(document).ready(function() {
    var $jq = jQuery.noConflict();
    $jq('#id').show();
 }); 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值