轉:26個Jquery使用小技巧(jQuery tips, tricks solutions)

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

前段時間發布了Jquery類庫1.4版本,使用者也越來越多,為了方便大家對Jquery的使用,下面列出了一些Jquery使用技巧。比如有禁止右鍵點擊、隱藏搜索文本框文字、在新窗口中打開鏈接、檢測瀏覽器、預加載圖片、頁面樣式切換、所有列等高、動態控制頁面字體大小、獲得鼠標指針的XY值、驗證元素是否為空、替換元素、延遲加載、驗證元素是否存在于Jquery集合中、使DIV可點擊、克隆對象、使元素居中、計算元素個數、使用Google主機上的Jquery類庫、禁用Jquery效果、解決Jquery類庫與其他Javascript類庫沖突問題。

具體如下:

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.IDClass之間轉換 

當改變Window大小時,在IDClass之間切換

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/

?

轉載于:https://www.cnblogs.com/OSoft/archive/2010/03/01/1675570.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276171.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276171.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276171.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

周末包郵送書和小紅包中獎名單公布

大家好&#xff0c;我是若川。周末送福利&#xff0c;給大家送紅包、包郵送新書&#xff01;這篇文章中&#xff0c;準備了3本自選前端新書&#xff0c;10個2元小紅包&#xff0c;在看抽10人每人5元紅包&#xff0c;2月28日晚8點開獎。現將名單公布如下&#xff1a;在看抽獎&am…

Ubuntu 命令行修改網絡配置方法

轉載鏈接&#xff1a;http://www.jb51.net/article/15807.htm Ubuntu 命令行修改網絡配置方法 /etc/network/interfaces 打開后里面可設置DHCP或手動設置靜態ip。前面auto eth0&#xff0c;讓網卡開機自動掛載. 1. 以DHCP方式配置網卡 編輯文件/etc/network/interfaces: sudo v…

python treeview底部加個按鈕_Python爬取京東商品信息(GUI版本)

前言本文的文字及圖片來源于網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。作者&#xff1a;DYblog轉載&#xff1a;https://www.cnblogs.com/dy8888/p/13257918.htmlPS&#xff1a;如有需要Python學習資料的小伙伴可以加點擊…

Linux下編譯安裝Mysql簡單步驟

常規方式編譯安裝MySQL時&#xff0c;適合用第一條最正宗的MySQL產品線5.2及以前版本&#xff1a;所謂常規方式編譯安裝MySQL就是延續早期MySQL的3部曲安裝方式&#xff0c;即./configure;make;make install&#xff0c;下面是老男孩在早期的企業生產場景下操作過的具體命令及參…

Vue.js 3.0 響應式 API 比 2.x 好在哪兒?

Hello&#xff0c;各位小伙伴&#xff0c;接下來的一段時間里&#xff0c;我會把我的課程《Vue.js 3.0 核心源碼解析》中問題的答案陸續在我的公眾號發布&#xff0c;由于課程的問題大多數都是開放性的問題&#xff0c;所以我的答案也不一定是標準的&#xff0c;僅供你參考喔。…

招聘.NET程序員

人才難找啊&#xff0c;順便發個招聘啟事。 西安瀚博科技有限公司招聘.NET程序員&#xff0c;有工作經驗者優先 如有意向&#xff0c;請發郵件到 slzhanghiweb.cn 轉載于:https://www.cnblogs.com/shengli/archive/2010/03/08/1680861.html

xml解析類

轉載鏈接&#xff1a;http://zyan.cc/post/253 今天在PHP4環境下重新寫一個接口程序&#xff0c;需要大量分析解析XML&#xff0c;PHP的xml_parse_into_struct()函數不能直接生成便于使用的數組&#xff0c;而SimpleXML擴展在PHP5中才支持&#xff0c;于是逛逛搜索引擎&#x…

jmeter學習指南之聚合報告

jmeter視頻地址&#xff1a;https://edu.51cto.com/course/14305.html 上一篇文章中我們講了Jmeter結果分析最常用的一個Listener查看結果樹&#xff0c;今天接著講另一個最常用的listener--聚合報告Aggregate Report。我們先來看看聚合報告中的主要名稱的含意&#xff1a;Labe…

敏捷開發概述

敏捷方法強調適應性而非預見性。 目前列入敏捷方法的有&#xff1a; 軟件開發節奏&#xff0c;Software Development Rhythms 敏捷數據庫技術&#xff0c;AD/Agile Database Techniques 敏捷建模&#xff0c;AM/Agile Modeling 自適應軟件開發&#xff0c;ASD/Adaptive Softwar…

2021 整理的最全學習資源,送給每一個努力著的人

時間來到了 2021 年&#xff0c;新的一年有新的期待&#xff0c;而我亦有新的祝福如果說在過去的一年&#xff0c;經歷太多&#xff0c;心酸、迷茫、焦慮、幸福、喜悅那么在 2021 年&#xff0c;希望你可以去過一種遇見自己的生活&#xff0c;恬淡、熱情&#xff0c;喜歡自己而…

ubuntu+php環境下的Memcached 安裝方法

轉載鏈接&#xff1a;http://www.jb51.net/article/28887.htm Memcached是一套分散式的高速緩存系統&#xff0c;當初是Danga Interactive為了LiveJournal所發展。 目前被很多系統所使用&#xff0c;例如Flick、Twitter等。這是一套開放源代碼軟件&#xff0c;以BSD license授…

php移動簽批源碼_PHP讓網站移動訪問更加友好方法

PHP都是在服務器上處理的&#xff0c;所以當代碼到達用戶時&#xff0c;它只是HTML。基本上&#xff0c;用戶從你的服務器請求你網站的一個頁面&#xff0c;然后你的服務器運行所有的PHP并向用戶發送PHP的結果。設備實際上從未看到或必須使用實際的PHP代碼。這使得使用PHP完成的…

Chrome OS 設備或將允許用戶自行選擇 Linux 發行版

百度智能云 云生態狂歡季 熱門云產品1折起>>> 谷歌去年宣布在 Chrome OS 上支持運行 Linux 應用&#xff0c;前不久又有消息稱其將為運行這些 Linux 應用提供 GPU 加速支持&#xff0c;而現在&#xff0c;Chrome OS 似乎將在 Linux 的方向上更進一步&#xff0c;讓 …

博文視點 OpenParty第11期:世界黑客大會那些事

博文視點 OpenParty第11期&#xff1a;世界黑客大會那些事 親愛的讀者朋友&#xff1a; 您好&#xff01; 2009年&#xff0c;博文視點Open Party共舉辦8場&#xff0c;累計到場2000人次&#xff0c;影響力輻射近5000人次&#xff0c;真正實現了博文視點Open Party的初…

我從 Vuejs 中學到了什么——框架設計學問

框架設計遠沒有大家想的那么簡單&#xff0c;并不是說只把功能開發完成&#xff0c;能用就算完事兒了&#xff0c;這里面還是有很多學問的。比如說&#xff0c;我們的框架應該給用戶提供哪些構建產物&#xff1f;產物的模塊格式如何&#xff1f;當用戶沒有以預期的方式使用框架…

CSS制作的32種圖形效果[梯形|三角|橢圓|平行四邊形|菱形|四分之一圓|旗幟]

轉載鏈接&#xff1a;http://www.w3cplus.com/css/css-simple-shapes-cheat-sheet 前面在《純CSS制作的圖形效果》一文中介紹了十六種CSS畫各種不同圖形的方法。今天花了點時間將這方面的制作成一份清單&#xff0c;方便大家急用時有地方可查。別的不多說了&#xff0c;直接看代…

vue-cli新建的項目webpack設置涉及的大部分插件整理

portfinder 用來檢測未占用的端口更多看這里: https://www.npmjs.com/package/portfinder webpack-merge 用來合并多個webpack設置&#xff0c;也可以合并對象更多看這里: https://www.npmjs.com/package/friendly-errors-webpack-plugin html-webpack-plugin 將html復制并插入…

yaml加配置文件后起不來_YAML配置文件管理資源

YAML是配置文件的格式&#xff0c;YAML文件中是由一些易讀的字段和指令組成的。K8S使用YAML配置文件需要注意如下事項。定義配置時&#xff0c;指定最新穩定版API(當前最新穩定版是v1版本)。最新版本的API可以通過kubectl api-versions命令進行查看&#xff0c;命令如下所示。前…

html5/css3響應式布局介紹

轉載鏈接&#xff1a;http://www.51xuediannao.com/htmlcss/htmlcssjq/694.html html5/css3響應式布局介紹 html5/css3響應式布局介紹及設計流程&#xff0c;利用css3的media query媒體查詢功能。移動終端一般都是對css3支持比較好的高級瀏覽器不需要考慮響應式布局的媒體查詢…

人際關系十大要訣

【一表人才】 所謂“一表人才”&#xff0c;就是說當你與陌生人第一次見面時給對方留下的第一印象&#xff0c;我們都知道第一印象很重要&#xff0c;要給對方留下好的印象&#xff0c;特別是要讓對方在最短的時間記住你。那么我們自身的儀表、行為舉止都很重要&#xff1b;我們…