日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

你应该知道的jQuery技巧【收藏】

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你应该知道的jQuery技巧【收藏】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jQuery的存在,讓學習前端開發的人感到前端越來越容易入門了,用簡單的幾行代碼就可以實現需求,但是,你真的會用jQuery么,當代碼運行 后無法看到自己預期的效果,是不是覺得jQuery出了問題,其實,問題還是出在了自己會不會用上面。下面列舉一些開發中經常遇到的應用實例,發現一下另 一個不同的jQuery世界。

回到頂部按鈕

利用jQuery里的animate和scrollTop方法,你便不需要使用插件創建簡單的滾動到頂部動畫。

$('.top').click(function(e){ ?e.preventDefault(); ?$('html, body').animate({scrollTop:0},800);});

通過scrollTop的值來改變你想要滾動到的位置。其實你就是做了:在接下來的800毫秒中讓頁面滾動,直到它滾動到文檔的頂部。

圖片預加載

如果你的網頁使用了很多隱藏圖片文件(例如:鼠標懸停展示的圖片),那么圖片的預加載是有意義的:

$.preloadImages =function(){for(vari =0; i ').attr('src',arguments[i]); ?}};$.preloadImages('img/hover-on.png','img/hover-off.png');

判斷圖片是否加載完

有時候你可能需要檢查圖像是否已經加載完成,以便于可以繼續執行相應的js代碼:

$('img').load(function(){console.log('image load successful');});

曾經遇到過的使用場景:有些元素需要按圖片的實際尺寸來設置其大小,以絕對布置方式放置。元素的大小設置可以在圖片加載完成后計算。

自動修補破損圖像

如果你碰巧發現在你的網站上發現破損的圖像鏈接,一個個去替代他們是痛苦的。這個簡單的代碼可以節省很多的麻煩:

$('img').on('error',function(){if(!$(this).hasClass('broken-image')) { ? ?$(this).prop('src','img/broken.png').addClass('broken-image'); ?}});

即使你沒有任何斷開的鏈接,加入這代碼也不會有任何影響。

禁用輸入

有時你可能需要用表單的提交按鈕或者某個輸入框直到用戶執行了某個動作(比如:檢查“我已閱讀條款”復選框)。在你的輸入框上設置disabled屬性,然后當你需要的時候啟用該屬性:

$('input[type="submit"]').prop('disabled',true);

你需要做的只是需要在輸入框上再次運行prop方法,但設置的被禁用值是false:

$('input[type="submit"]').prop('disabled',false);

對地不了解prop函數的jQuery開發者來說,最常使用的是attr函數,可能開發很多程序都沒有發現什么問題,但是,在開發例如 checkbox、radio、select時,會發現使用attr無法讓屬性生效,以為是jQuery的bug,下面來說說attr和prop的使用建 議:

在遇到要獲取或設置checked,selected,readonly和disabled等屬性時,用prop方法顯然更好

使兩個DIV同等高度

有時你會想要兩個DIV有相同的高度,無論他們都有什么內容:

$('.div').css('min-height', $('.main-div').height());

這個例子設置了DIV的最小高度,這意味著它的高度只可以比這個設置的高度大而不能小。然而,一個更靈活的方法是循環的一組元素,并設置將最高元素的高度作為高度:

var$columns = $('.column');varheight =0;$columns.each(function(){if($(this).height() > height) { ? ?height = $(this).height(); ?}});$columns.height(height);

如果你想要所有的列有相同的高度:

var$rows = $('.same-height-columns');$rows.each(function(){ ?$(this).find('.column').height($(this).height());});

根據文本獲取元素

通過jQuery中的contains()選擇器,你能找到一個元素內的文本內容。如果文本不存在,則這個元素將被隱藏:

varsearch = $('#search').val();$('div:not(:contains("'+ search +'"))').hide();

可見變化的觸發

當用戶不再聚焦或者重新聚焦一個標簽時觸發javascript腳本:

$(document).on('visibilitychange',function(e){if(e.target.visibilityState ==="visible") {console.log('Tab is now in view!'); ?}elseif(e.target.visibilityState ==="hidden") {console.log('Tab is now hidden!'); ?}});

歡迎關注我的公眾號(同步更新文章):DoNet技術分享平臺

閱讀原文

總結

以上是生活随笔為你收集整理的你应该知道的jQuery技巧【收藏】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。