<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關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        js頁面滾動時層智能浮動定位實現(xiàn)(jQuery/MooTools)_jquery

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 21:00:22
        文檔

        js頁面滾動時層智能浮動定位實現(xiàn)(jQuery/MooTools)_jquery

        js頁面滾動時層智能浮動定位實現(xiàn)(jQuery/MooTools)_jquery:一、應(yīng)用展示 關(guān)于層的智能浮動效果早在幾年前我就在國外的一些個人網(wǎng)站的垂直導(dǎo)航上見到了,現(xiàn)在似乎在國內(nèi)一些商業(yè)網(wǎng)站上也屢見此效果,例如淘寶網(wǎng)的搜索結(jié)果頁的排序水平條,在默認狀態(tài)下,滾動條跟隨頁面滾動,如下: 隨著頁面向下滾動,當此水平條接觸
        推薦度:
        導(dǎo)讀js頁面滾動時層智能浮動定位實現(xiàn)(jQuery/MooTools)_jquery:一、應(yīng)用展示 關(guān)于層的智能浮動效果早在幾年前我就在國外的一些個人網(wǎng)站的垂直導(dǎo)航上見到了,現(xiàn)在似乎在國內(nèi)一些商業(yè)網(wǎng)站上也屢見此效果,例如淘寶網(wǎng)的搜索結(jié)果頁的排序水平條,在默認狀態(tài)下,滾動條跟隨頁面滾動,如下: 隨著頁面向下滾動,當此水平條接觸

        一、應(yīng)用展示
        關(guān)于層的智能浮動效果早在幾年前我就在國外的一些個人網(wǎng)站的垂直導(dǎo)航上見到了,現(xiàn)在似乎在國內(nèi)一些商業(yè)網(wǎng)站上也屢見此效果,例如淘寶網(wǎng)的搜索結(jié)果頁的排序水平條,在默認狀態(tài)下,滾動條跟隨頁面滾動,如下:

        淘寶網(wǎng)搜索頁排序水平條 張鑫旭-鑫空間-鑫生活

        隨著頁面向下滾動,當此水平條接觸瀏覽器的上邊緣時,水平條獨立出來,不跟隨滾動條滾動了,如下圖所示:
        淘寶網(wǎng)搜索頁水平條 張鑫旭-鑫空間-鑫生活

        類似的效果在新浪微博上也有:
        新浪微博上智能定位層 張鑫旭-鑫空間-鑫生活

        當頁面滾動,新動態(tài)提示開始要淡出瀏覽器窗口的時候,其浮動于瀏覽器窗口的最上沿顯示,如下圖所示:
        新浪微博智能浮動層 張鑫旭-鑫空間-鑫生活

        此效果實現(xiàn)原理其實很簡單,本文就將展示其實現(xiàn)。

        二、實現(xiàn)原理

        默認狀態(tài)就是默認狀態(tài),什么事情也不用做,定位是absolute也好,static也好,都ok。關(guān)鍵是當瀏覽器滾動的時候,對象(要浮動的層)要移除瀏覽器界面視區(qū)的時候,修改其position屬性,讓其浮動在窗口的上沿顯示就可以了。最好的position屬性就是fixed了,可以在IE6+和其他瀏覽器下浮動層平滑固定定位,由于IE6前輩不支持fixed屬性,所以,后退一步,使用absolute屬性代替,但是會有副作用——滾動不平滑。但,這也是沒有辦法的事情了。

        現(xiàn)在關(guān)鍵就是如何判斷當前層與瀏覽器窗口的上邊緣接觸呢?當浮動層與瀏覽器窗口上邊緣接觸的一瞬間,其頁面垂直偏移值與頁面的滾動高度其實是一致的,所以,用這個進行判斷就OK了,但是,如何獲得頁面上元素距離頁面的垂直距離呢?純粹的js代碼獲得此值還是比較麻煩的,好在JavaScript庫幫我們解決了這些工作,所以,我們的工作其實就很平坦,下面就將展示如何在jQuery庫以及MooTools庫下實現(xiàn)該效果。

        三、jQuery下的層的智能浮動

        方法代碼如下:
        代碼如下:
        $.fn.smartFloat = function() {
        var position = function(element) {
        var top = element.position().top, pos = element.css("position");
        $(window).scroll(function() {
        var scrolls = $(this).scrollTop();
        if (scrolls > top) {
        if (window.XMLHttpRequest) {
        element.css({
        position: "fixed",
        top: 0
        });
        } else {
        element.css({
        top: scrolls
        });
        }
        }else {
        element.css({
        position: "absolute",
        top: top
        });
        }
        });
        };
        return $(this).each(function() {
        position($(this));
        });
        };

        調(diào)用很簡單,直接一行代碼就ok了,例如下面:

        $("#float").smartFloat();
        妥妥兒的,就一小段綁定就實現(xiàn)了id為float的標簽有了智能浮動功能,效果描述就是:當id為float的元素在滾動的時候與瀏覽器上邊緣接觸時就不會再跟隨滾動條滾動了。

        您可以狠狠地點擊這里:jQuery下的層的智能浮動demo

        打開demo頁面,您會看到右側(cè)自詡羞澀的浮動層了,滾動頁面觀察效果:
        jQuery智能浮動demo效果截圖 張鑫旭-鑫空間-鑫生活

        四、MooTools下的層的智能浮動

        與jQuery實現(xiàn)一樣,MooTools庫下也已經(jīng)將此方法包裝了起來,代碼如下:
        代碼如下:
        var $smartFloat = function(elements) {
        var position = function(element) {
        var top = element.getPosition().y, pos = element.getStyle("position");
        window.addEvent("scroll", function() {
        var scrolls = this.getScroll().y;
        if (scrolls > top) {
        if (window.XMLHttpRequest) {
        element.setStyles({
        position: "fixed",
        top: 0
        });
        } else {
        element.setStyles({
        top: scrolls
        });
        }
        }else {
        element.setStyles({
        position: "absolute",
        top: top
        });
        }
        });
        };
        if ($type(elements) === "array") {
        return elements.each(function(items) {
        position(items);
        });
        } else if ($type(elements) === "element") {
        position(elements);
        }
        };

        使用也是非常的簡單,就一句代碼,同樣以id為float的標簽舉例,代碼如下:

        $smartFloat($("float"));
        您可以狠狠地點擊這里:MooTools下的層的智能浮動demo

        滾動demo頁面的滾動條,當“羞澀”的浮動層與瀏覽器邊緣“接觸”的時候,就不再跟隨滾動條滾動了,如下圖所示:
        層的智能浮動demo頁面 張鑫旭-鑫空間-鑫生活
        來自張鑫旭

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

        文檔

        js頁面滾動時層智能浮動定位實現(xiàn)(jQuery/MooTools)_jquery

        js頁面滾動時層智能浮動定位實現(xiàn)(jQuery/MooTools)_jquery:一、應(yīng)用展示 關(guān)于層的智能浮動效果早在幾年前我就在國外的一些個人網(wǎng)站的垂直導(dǎo)航上見到了,現(xiàn)在似乎在國內(nèi)一些商業(yè)網(wǎng)站上也屢見此效果,例如淘寶網(wǎng)的搜索結(jié)果頁的排序水平條,在默認狀態(tài)下,滾動條跟隨頁面滾動,如下: 隨著頁面向下滾動,當此水平條接觸
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: caoporm碰最新免费公开视频| 亚洲av中文无码乱人伦在线观看| 国产成人免费网站| 日韩免费无砖专区2020狼| 亚洲不卡在线观看| 黄页免费的网站勿入免费直接进入| 亚洲伊人tv综合网色| 91精品免费高清在线| 亚洲欧洲久久精品| 色窝窝亚洲av网| 又爽又高潮的BB视频免费看| 免费国产高清毛不卡片基地| 亚洲综合另类小说色区色噜噜| a一级爱做片免费| 99久久亚洲精品无码毛片 | 成年大片免费视频播放一级| 丁香亚洲综合五月天婷婷| 亚洲91av视频| 九九久久精品国产免费看小说| 自拍偷自拍亚洲精品第1页| 亚洲jizzjizz少妇| 免费在线观看a级毛片| 两个人看的www免费视频| 亚洲AV人无码综合在线观看| 亚洲免费网站观看视频| 婷婷亚洲综合一区二区| 黑人精品videos亚洲人| 国产成人免费高清激情明星| 亚洲av无码片vr一区二区三区| 在线亚洲精品自拍| av大片在线无码免费| 精品亚洲成a人片在线观看少妇| 毛片免费视频观看| 亚洲宅男天堂在线观看无病毒| 小日子的在线观看免费| 亚洲综合一区国产精品| 91嫩草国产在线观看免费| 色噜噜狠狠色综合免费视频| 亚洲AV乱码久久精品蜜桃| 毛片基地免费观看| 国产好大好硬好爽免费不卡|