25个实用的jQuery技巧和解决方案

1. 去除页面的右键菜单

$(document).ready(function(){ $(document).bind(“contextmenu”,function(e){returnfalse;});}); 

当鼠标获得焦点、失去焦点的时候,input输入框文字处理:

  $(“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、新窗口打开页面

$(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”;

  });

});

4、判断浏览器类型

注意: jQuery 1.4中$.support 来代替以前的$.browser

$(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、预加载图片

$(document).ready(function(){

  jQuery.preloadImages=function(){

    for(var i =0; i<arguments.length; i++){

       jquery(“img”).attr(“src”, arguments[i]);}}

       $.preloadImages(“image1.jpg”);

      });</arguments.length;>

6、轻松切换css样式

$(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’));});

 

7、高度相等的列

如果您使用两个CSS列,以此来作为他们完全一样的高度

 

$(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、简单字体变大缩小

$(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);returnfalse;});// 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);returnfalse;});});

 

9、返回头部滑动动画

$(‘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);returnfalse;}}});

10、获取鼠标位置

$().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);});

 

11、判断一个元素是否为空

if($(‘#id’).html()){// do something }

12、替换元素

$(‘#id’).replaceWith(‘I have been replaced‘);

 

13、jquery timer 返回函数

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

14、jquery也玩替换

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

 

15、判断元素是否存在

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

16、让div也可以click

$(“div”).click(function(){//get the url from href attribute and launch the url window.location=$(this).find(“a”).attr(“href”);returnfalse;});

17、使用jquery来判断浏览器大小添加不同的class

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

 

18、几个字符就clone!

var cloned = $(‘#id’).clone()

19、设置div在屏幕中央

$(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”);returnthis;} $(“#id”).center();});

 

20、创建自己的选择器

$(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’);});});

21、计算元素的数目

$(document).ready(function(){ $(“p”).size();});

 

22、设置自己的li样式

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

23、使用google的主机来加载jquery库

<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>

posted @ 2012-12-26 11:12  lines  阅读(340)  评论(0编辑  收藏  举报