給你個思路吧:
創(chuàng)新互聯(lián)建站為您提適合企業(yè)的網(wǎng)站設計?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強的網(wǎng)絡競爭力!結(jié)合企業(yè)自身,進行網(wǎng)站設計及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都做網(wǎng)站、成都網(wǎng)站制作, 我們的網(wǎng)頁設計師為您提供的解決方案。
offset().top 懸浮窗在頁面沒滾動的時候與頁面頂部的距離,這個距離只取了一次所以這個距離從開始就始終沒變。
$(window).scrollTop() 是頁面已經(jīng)滾動的距離(是跟隨你滾動不斷變動的),就是你滾動條往下滾動的距離(頁面可是區(qū)域頂端與原頁面真實頂端的距離)
當頁面滾動的時候觸發(fā)函數(shù)$(window).scroll
然而懸浮窗又要保持頁面打開時候的位置,那顯然就是
懸浮窗原始與頂部距離+頁面已經(jīng)滾動過的距離;
跟隨滾動條的使用樣式就可以了:position:fixed;
點擊關閉和打開就用jquery的animate對浮動的right樣式處理就行:
//原來樣式設定的right:0;
//例如你浮動客服的元素寬度為300px
$("關閉ID").click(function(){
$("整個浮動的ID").animate({right:"-300px"},600);//第二個參數(shù)是隱藏進去的時間
});
//打開也一樣,同上?改變一下right的樣式值就行
這個不難弄···
事先獲取div的offset和它的高度··然后加起來··然后你在$(window).scroll(function(){});中判斷當前滾動的高度是否等于高度+offset.top·如果等于的話·你就把div設置為position:fixed;
然后再給它一個top就可以了