`

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

阅读更多

The use of thejQuery library is growing and growing(just releasedjQuery 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.

jQuery has a lot of very usefulplugins that can help you with almost anything, but there are a couple of plugins that aren’t that smart to use, why? Well sometimes 1 or 2 lines of jQuery code can do the same thing(or even better), so why use a big script if you can do the same trick with a small piece of code.

As many of you already know, jQuery can do a lot of things in more than just one way, so if you see a tip, trick or solution and think/know this can be done better, smarter or faster please let me know, post and share it in a comment below of just email me this, so that i can use this for part 2.

● Disable right-click(禁止右键点击)
Disable right-click contextual menu.

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. $(document).bind("contextmenu" ,function (e){
  3. return false ;
  4. });
  5. });



● Disappearing search field text(隐藏搜索文本框文字)
Hide when clicked in the search field, the value.(example can be found below in the comment fields)

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. $("input.text1" ).val("Enteryoursearchtexthere" );
  3. textFill($('input.text1' ));
  4. });
  5. //inputfocustextfunction
  6. function textFill(input){
  7. var originalvalue=input.val();
  8. input.focus(function (){
  9. if ($.trim(input.val())==originalvalue){
  10. input.val('' );
  11. }
  12. });
  13. input.blur(function (){
  14. if ($.trim(input.val())=='' ){
  15. input.val(originalvalue);
  16. }
  17. });
  18. }



● Opening links in a new window(在新窗口中打开链接)
XHTML 1.0 Strict doesn’t allow this attribute in the code, so use this to keep the code valid.

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. //Example1:Everylinkwillopeninanewwindow
  3. $('a[href^="http://"]' ).attr("target" ,"_blank" );
  4. //Example2:Linkswiththerel="external"attributewillonlyopeninanewwindow
  5. $('a[@rel$=' external']' ).click(function (){
  6. this .target="_blank" ;
  7. });
  8. });
  9. //howtouse
  10. <ahref="http://www.opensourcehunter.com" rel="external" >openlink</a>



● Detect browser(检测浏览器)
Change/add something for a certain browser.
Notice: As of jQuery 1.4, the $.browser variable is replaced by $.support.

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. //TargetFirefox2andabove
  3. if ($.browser.mozilla&&$.browser.version>="1.8" ){
  4. //dosomething
  5. }
  6. //TargetSafari
  7. if ($.browser.safari){
  8. //dosomething
  9. }
  10. //TargetChrome
  11. if ($.browser.chrome){
  12. //dosomething
  13. }
  14. //TargetCamino
  15. if ($.browser.camino){
  16. //dosomething
  17. }
  18. //TargetOpera
  19. if ($.browser.opera){
  20. //dosomething
  21. }
  22. //TargetIE6andbelow
  23. if ($.browser.msie&&$.browser.version<=6){
  24. //dosomething
  25. }
  26. //TargetanythingaboveIE6
  27. if ($.browser.msie&&$.browser.version>6){
  28. //dosomething
  29. }
  30. });



● Preloading images(预加载图片)
This piece of code will prevent the loading of all images, which can be useful if you have a site with lots of images.

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. jQuery.preloadImages=function (){
  3. for (var i=0;i<arguments.length;i++){
  4. $("<img>" ).attr("src" ,arguments[i]);
  5. }
  6. }
  7. //howtouse
  8. $.preloadImages("image1.jpg" );
  9. });



● CSS Styleswitcher(页面样式切换)
Switch between different styles?

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. $("a.Styleswitcher" ).click(function (){
  3. //swicththeLINKRELattributewiththevalueinARELattribute
  4. $('link[rel=stylesheet]' ).attr('href' ,$(this ).attr('rel' ));
  5. });
  6. });
  7. //howtouse
  8. //placethisinyourheader
  9. <linkrel="stylesheet" href="default.css" type="text/css" >
  10. //thelinks
  11. <ahref="#" class ="Styleswitcher" rel="default.css" >DefaultTheme</a>
  12. <ahref="#" class ="Styleswitcher" rel="red.css" >RedTheme</a>
  13. <ahref="#" class ="Styleswitcher" rel="blue.css" >BlueTheme</a>



● Columns of equal height(列高度相同)
If you are using two CSS columns, use this to make them exactly the same height.

Javascript代码收藏代码
  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. //howtouse
  13. $(document).ready(function (){
  14. equalHeight($(".left" ));
  15. equalHeight($(".right" ));
  16. });
  17. });



● Font resizing(动态控制页面字体大小)
Want to let the users change there font size?

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. //Resetthefontsize(backtodefault)
  3. var originalFontSize=$('html' ).css('font-size' );
  4. $(".resetFont" ).click(function (){
  5. $('html' ).css('font-size' ,originalFontSize);
  6. });
  7. //Increasethefontsize(biggerfont0
  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. //Decreasethefontsize(smallerfont)
  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. });



● Smooth(animated) page scroll(返回页面顶部功能)
For a smooth(animated) ride back to the top(or any location).

Javascript代码收藏代码
  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||$('[name=' +this .hash.slice(1)+']' );
  7. if ($target.length){
  8. var targetOffset=$target.offset().top;
  9. $('html,body' ).animate({scrollTop:targetOffset},900);
  10. return false ;
  11. }
  12. }
  13. });
  14. });
  15. //howtouse
  16. //placethiswhereyouwanttoscrollto
  17. <aname="top" ></a>
  18. //thelink
  19. <ahref="#top" >gototop</a>



● Get the mouse cursor x and y axis(获得鼠标指针 X/Y 值)
Want to know where your mouse cursor is?

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. $().mousemove(function (e){
  3. //displaythexandyaxisvaluesinsidethedivwiththeidXY
  4. $('#XY' ).html("XAxis:" +e.pageX+"|YAxis" +e.pageY);
  5. });
  6. });
  7. //howtouse
  8. <divid="XY" ></div>



● Verify if an Element is empty(验证元素是否为空)
This will allow you to check if an element is empty.

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. if ($('#id' ).html()){
  3. //dosomething
  4. }
  5. });



● Replace a element(替换元素)
Want to replace a div, or something else?

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. $('#id' ).replaceWith('<div>Ihavebeenreplaced</div>' );
  3. });



● jQuery timer callback functions(jQuery 延时加载功能)
Want to delay something?

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. window.setTimeout(function (){
  3. //dosomething
  4. },1000);
  5. });



● Remove a word(移除单词功能)
Want to remove a certain word(s)?

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



● Verify that an element exists in jQuery(验证元素是否存在)
Simply test with the .length property if the element exists.

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. if ($('#id' ).length){
  3. //dosomething
  4. }
  5. });



● Make the entire DIV clickable(使整个 DIV 可点击)
Want to make the complete div clickable?

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. $("div" ).click(function (){
  3. //gettheurlfromhrefattributeandlaunchtheurl
  4. window.location=$(this ).find("a" ).attr("href" );
  5. return false ;
  6. });
  7. });
  8. //howtouse
  9. <div><ahref="index.html" >home</a></div>



● Switch between classes or id’s when resizing the window(id 与 class 之间转换)
Want to switch between a class or id, when resizing the window?

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



● Clone a object(克隆对象)
Clone a div or an other element.

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. var cloned=$('#id' ).clone();
  3. });
  4. //howtouse
  5. <divid="id" ></div>



● Center an element on the screen(使元素居屏幕中间位置)
Center an element in the center of your screen.

Javascript代码收藏代码
  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. });



● Write our own selector(写自己的选择器)
Write your own selectors.

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. $.extend($.expr[':' ],{
  3. moreThen1000px:function (a){
  4. return $(a).width()>1000;
  5. }
  6. });
  7. $('.box:moreThen1000px' ).click(function (){
  8. //creatingasimplejsalertbox
  9. alert('Theelementthatyouhaveclickedisover1000pixelswide' );
  10. });
  11. });



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

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. $("p" ).size();
  3. });



● Use Your Own Bullets(使用自己的 Bullets)
Want to use your own bullets instead of using the standard or images bullets?

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. $("ul" ).addClass("Replaced" );
  3. $("ul>li" ).prepend("-" );
  4. });
  5. //howtouse
  6. ul.Replaced{list-style:none;}



● Let Google host jQuery for you(引用 Google 主机上的 jQuery 类库)
Let Google host the jQuery script for you. This can be done in 2 ways.

Javascript代码收藏代码
  1. //Example1
  2. <scriptsrc="http://www.google.com/jsapi" ></script>
  3. <scripttype="text/javascript" >
  4. google.load("jquery" ,"1.2.6" );
  5. google.setOnLoadCallback(function (){
  6. //dosomething
  7. });
  8. </script>
  9. //Example2:(thebestandfastestway)
  10. <scripttype="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" ></script>



● Disable jQuery animations(禁用 jQuery 动画效果)
Disable all jQuery effects.

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. jQuery.fx.off=true ;
  3. });



● No conflict-mode(与其他 Javascript 类库冲突解决方案)
To avoid conflict other libraries on your website, you can use this jQuery Method, and assign a different variable name instead of the dollar sign.

Javascript代码收藏代码
  1. $(document).ready(function (){
  2. var $jq=jQuery.noConflict();
  3. $jq('#id' ).show();
  4. });


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics