<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        前端程序員應該知道的jQuery小技巧

        來源:懂視網 責編:小采 時間:2020-11-27 20:30:25
        文檔

        前端程序員應該知道的jQuery小技巧

        前端程序員應該知道的jQuery小技巧:通過使用jQuery中的animate 和scrollTop 方法,不用插件就可以創建一個滾動到頂部的簡單動畫:// Back to top $('.top').click(function (e) { e.preventDefault(); $('html, body').animate({s
        推薦度:
        導讀前端程序員應該知道的jQuery小技巧:通過使用jQuery中的animate 和scrollTop 方法,不用插件就可以創建一個滾動到頂部的簡單動畫:// Back to top $('.top').click(function (e) { e.preventDefault(); $('html, body').animate({s
        1116.jpg

        通過使用jQuery中的animate 和scrollTop 方法,不用插件就可以創建一個滾動到頂部的簡單動畫:

        // Back to top
        $('.top').click(function (e) {
         e.preventDefault();
         $('html, body').animate({scrollTop: 0}, 800);
        });
        <!-- Create an anchor tag -->
        <a class="top" href="#">Back to top</a>

        改變scrollTop 的值可以更改你想要放置滾動條的位置。所有你真正需要做的是在800毫秒的時間內設置文檔主體的動畫,直到它滾動到文檔的頂部。

        注:小心scrollTop的一些錯誤行為。

        預加載圖像

        如果你的網頁要使用大量開始不可見的(例如,懸停的)圖像,那么可以預加載這些圖像:

        $.preloadImages = function () {
         for (var i = 0; i < arguments.length; i++) {
         $('<img>').attr('src', arguments[i]);
         }
        };
        $.preloadImages('img/hover-on.png', 'img/hover-off.png');

        檢查圖像是否加載

        有時為了繼續腳本,你可能需要檢查圖像是否全部加載完畢:

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

        你也可以用ID或類替換<img>標簽來檢查某個特定的圖像是否被加載。

        自動修復破壞的圖像

        逐個替換已經破壞的圖像鏈接是非常痛苦的。不過,下面這段簡單的代碼可以幫助你:

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

        即使沒有任何斷掉的鏈接,加上這一段代碼也不會讓你有任何損失。

        懸停切換類

        假設你希望當用戶將鼠標懸停在可點擊的元素上時,它會改變顏色。那么你可以在用戶懸停的時候添加類到元素中,反之則刪除類:

        $('.btn').hover(function () {
         $(this).addClass('hover');
        }, function () {
         $(this).removeClass('hover');
        });

        你只需要添加必要的CSS即可。更簡單的方法是使用toggleClass 方法:

        $('.btn').hover(function () {
         $(this).toggleClass('hover');
        });

        注:可能在這種情況下,CSS這種解決方案更快,不過了解這個方法很有必要。

        禁用輸入字段

        有時候,你可能想要禁用表格的提交按鈕或它的某一項文字輸入直到用戶執行了特定操作(例如,勾選“我已閱讀相關條款”復選框)。添加 disabled屬性到你的輸入就可以在你想要的時候才啟用它:

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

        然后你只需要運行輸入的prop 方法就可以了,不過disabled 的值要設置為false:

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

        停止加載鏈接

        有時候,你既不需要鏈接到某個特定的網頁,也不想要重新加載頁面——你可能希望鏈接做點別的事情,例如說觸發一些其他腳本。這就要在阻止默認動作上做文章了:

        $('a.no-link').click(function (e) {
         e.preventDefault();
        });

        淡入/滑動切換

        滑動和淡入都是我們用jQuery做動畫的時候大量運用的東西。如果你只是想在用戶點擊之后展示一個元素的話,那么用fadeIn 和slideDown 方法就很完美。但是,如果你想要元素在第一次點擊的時候出現,然后在第二次點擊的時候消失的話,那么可以試試下面的代碼:

        // Fade
        $('.btn').click(function () {
         $('.element').fadeToggle('slow');
        });
        // Toggle
        $('.btn').click(function () {
         $('.element').slideToggle('slow');
        });

        簡單的手風琴

        這是一個可快速生成手風琴的簡單方法:

        // Close all panels
        $('#accordion').find('.content').hide();
        // Accordion
        $('#accordion').find('.accordion-header').click(function () {
         var next = $(this).next();
         next.slideToggle('fast');
         $('.content').not(next).slideUp('fast');
         return false;
        });

        通過添加這個腳本,你真正需要做的僅僅是在頁面上添加必要的HTML元素,這樣它就可以運行工作了。

        讓兩個div高度相同

        有時候,你需要讓兩個div無論包含什么內容都擁有相同的高度:

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

        設置 min-height,這意味著它可以比主div大但絕對不能比主div小。不過,還有一種更靈活的方法是遍歷一組元素,然后將高度設置為最高的那個元素的高度:

        var $columns = $('.column');
        var height = 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());
        });

        在新標簽頁/窗口打開外部鏈接

        在一個新的瀏覽器tab或窗口中打開外部鏈接,并確保同一個來源的鏈接能在同一個tab或者窗口中打開:

        $('a[href^="http"]').attr('target', '_blank');
        $('a[href^="//"]').attr('target', '_blank');
        $('a[href^="' + window.location.origin + '"]').attr('target', '_self');

        注意:window.location.origin 在IE10中無效。修復的時候要小心這個問題。

        在改變Visibility時觸發

        當用戶不再關注某個tab,或重新聚焦原來的那個tab上時,觸發JavaScript:

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

        AJAX調用錯誤處理

        當Ajax調用返回404或500錯誤時,就執行錯誤處理程序。如果沒有定義處理程序,其他的jQuery代碼或會就此罷工。定義一個全局的Ajax錯誤處理程序:

        $(document).ajaxError(function (e, xhr, settings, error) {
         console.log(error);
        });

        鏈式插件調用

        jQuery允許“鏈式”插件的方法調用,以減輕反復查詢DOM并創建多個jQuery對象的過程。比方說,下面的代碼片段代表了你的插件方法調用:

        $('#elem').show();
        $('#elem').html('bla');
        $('#elem').otherStuff();

        通過使用鏈式,可以大大改善:

        $('#elem')
         .show()
         .html('bla')
         .otherStuff();

        還有一種方法是在(前綴$)變量中高速緩存元素:

        var $elem = $('#elem');
        $elem.hide();
        $elem.html('bla');
        $elem.otherStuff();

        鏈式和高速緩存的方法都是jQuery中可以讓代碼變得更短和更快的代最佳做法。

        英文原文:jQuery Tips Everyone Should Know

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        前端程序員應該知道的jQuery小技巧

        前端程序員應該知道的jQuery小技巧:通過使用jQuery中的animate 和scrollTop 方法,不用插件就可以創建一個滾動到頂部的簡單動畫:// Back to top $('.top').click(function (e) { e.preventDefault(); $('html, body').animate({s
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲妓女综合网99| 亚洲美女视频网站| 亚洲影视一区二区| 免费看一级高潮毛片| 美丽姑娘免费观看在线观看中文版| 欧美日韩国产免费一区二区三区| 亚洲午夜精品第一区二区8050| 亚洲色偷偷av男人的天堂| 一级成人a做片免费| 四虎1515hh永久久免费| 亚洲男人的天堂一区二区| 亚洲婷婷综合色高清在线| 中文字幕免费在线看电影大全| 男人的好免费观看在线视频| 永久亚洲成a人片777777| 日韩亚洲产在线观看| 国产在线精品免费aaa片| 国产精品无码一二区免费 | 成人免费观看男女羞羞视频| 国产福利视精品永久免费| 亚洲综合色成在线播放| 一本天堂ⅴ无码亚洲道久久| 日韩免费的视频在线观看香蕉| 免费看小12萝裸体视频国产| 亚洲性色成人av天堂| 国产成人免费视频| 亚洲精品国产高清嫩草影院| 亚洲高清中文字幕免费| 少妇人妻偷人精品免费视频| 亚洲真人日本在线| 色欲aⅴ亚洲情无码AV| 很黄很色很刺激的视频免费| 亚洲AV永久无码精品一百度影院| 老司机免费午夜精品视频| 中字幕视频在线永久在线观看免费| 亚洲爆乳无码专区| 国产精品免费αv视频| 国产不卡免费视频| 亚洲综合一区国产精品| 亚洲毛片免费视频| 亚洲a在线视频视频|