宁波.Net技术讨论区

26个Jquery使用小技巧(jQuery tips, tricks & solutions)

 

1. 禁止右键点击

view plaincopy to clipboardprint?

1. $(document).ready(function(){  

2.     $(document).bind("contextmenu",function(e){  

3. return false;  

4.     });  

5. }); 

2. 隐藏搜索文本框文字

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2. $("input.text1").val("Enter your search text here");  

3.    textFill($('input.text1'));  

4. });  

5.

6. function textFill(input){ //input focus text function

7. var originalvalue = input.val();  

8.     input.focus( function(){  

9. if( $.trim(input.val()) == originalvalue ){ input.val(''); }  

10.     });  

11.     input.blur( function(){  

12. if( $.trim(input.val()) == '' ){ input.val(originalvalue); }  

13.     });  

14. } 

3. 在新窗口中打开链接

view plaincopy to clipboardprint?

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> 

4. 检测浏览器

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

view plaincopy to clipboardprint?

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

5. 预加载图片

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2.    jQuery.preloadImages = function()  

3.   {  

4. for(var i = 0; i").attr("src", arguments[i]);

5.   }

6. };

7. // how to use

8. $.preloadImages("image1.jpg");  

9. }); 

6. 页面样式切换

view plaincopy to clipboardprint?

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 href="default.css" type=text/css rel=stylesheet>  

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

7. 列高度相同

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

view plaincopy to clipboardprint?

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

8. 动态控制页面字体大小

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

view plaincopy to clipboardprint?

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

9. 返回页面顶部功能

view plaincopy to clipboardprint?

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

11.获得鼠标指针XY值

view plaincopy to clipboardprint?

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

12. 验证元素是否为空

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2. if ($('#id').html()) {  

3. // do something

4.    }  

5. }); 

13. 替换元素

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2.    $('#id').replaceWith('

3. <DIV>I have been replaced</DIV>

4.

5. ');  

6. }); 

14. jQuery延时加载功能

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2.    window.setTimeout(function() {  

3. // do something

4.    }, 1000);  

5. }); 

15. 移除单词功能

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2. var el = $('#id');  

3.    el.html(el.html().replace(/word/ig, ""));  

4. }); 

16. 验证元素是否存在于Jquery对象集合中

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2. if ($('#id').length) {  

3. // do something

4.   }  

5. }); 

17. 使整个DIV可点击

view plaincopy to clipboardprint?

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

18.ID与Class之间转换

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

view plaincopy to clipboardprint?

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

19. 克隆对象

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2. var cloned = $('#id').clone();  

3. // how to use

4. <DIV id=id></DIV>  

5.

6. }); 

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

view plaincopy to clipboardprint?

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

21. 写自己的选择器

view plaincopy to clipboardprint?

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

22. 统计元素个数

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2.    $("p").size();  

3. }); 

23. 使用自己的 Bullets

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2.    $("ul").addClass("Replaced");  

3.    $("ul > li").prepend("‒ ");  

4. // how to use

5.  ul.Replaced { list-style : none; }  

6. }); 

24. 引用Google主机上的Jquery类库

Let Google host the jQuery script for you. This can be done in 2 ways.

view plaincopy to clipboardprint?

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.

10. // Example 2:(the best and fastest way)

11. <SCRIPT src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type=text/javascript></SCRIPT> 

 
25. 禁用Jquery(动画)效果

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2.     jQuery.fx.off = true;  

3. }); 

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

view plaincopy to clipboardprint?

1. $(document).ready(function() {  

2. var $jq = jQuery.noConflict();  

3.    $jq('#id').show();  

4. }); 

英文地址:

http://www.opensourcehunter.com/2010/02/27/26-cool-and-usefull-jquery-tips-tricks-solutions/

posted @ 2010-10-09 14:57  山 人  阅读(405)  评论(0编辑  收藏  举报