jquery實(shí)現(xiàn)的讓超出顯示范圍外的導(dǎo)航自動(dòng)固定屏幕最頂上

$().ready(function(){
//導(dǎo)航距離屏幕頂部距離
var _defautlTop = $("#navigator").offset().top - $(window).scrollTop();
//導(dǎo)航距離屏幕左側(cè)距離
var _defautlLeft = $("#navigator").offset().left - $(window).scrollLeft();
//導(dǎo)航默認(rèn)樣式記錄,還原初始樣式時(shí)候需要
var _position = $("#navigator").css('position');
var _top = $("#navigator").css('top');
var _left = $("#navigator").css('left');
var _zIndex = $("#navigator").css('z-index');
//鼠標(biāo)滾動(dòng)事件
$(window).scroll(function(){
if($(this).scrollTop() > _defautlTop){
//IE6不認(rèn)識(shí)position:fixed,單獨(dú)用position:absolute模擬
if($.browser.msie && $.browser.version=="6.0"){
$("#top").css({'position':'absolute','top':eval(document.documentElement.scrollTop),'left':_defautlLeft,'z-index':99999});
//防止出現(xiàn)抖動(dòng)
$("html,body").css({'background-image':'url(about:blank)','background-attachment':'fixed'});
}else{
$("#navigator").css({'position':'fixed','top':0,'left':_defautlLeft,'z-index':99999});
}
}else{
$("#navigator").css({'position':_position,'top':_top,'left':_left,'z-index':_zIndex});
}
});
});
沒有太多好講的,需要注意的一點(diǎn)就是,IE6不認(rèn)識(shí)position:fixed,需要用position:absolute去模擬,然后實(shí)時(shí)計(jì)算出top的值,另外需要給html和body加兩個(gè)樣式,防止?jié)L動(dòng)的時(shí)候出現(xiàn)抖動(dòng),具體可以了解《完美解決IE6不支持position:fixed的bug》。
另外需要注意的一點(diǎn)就是,導(dǎo)航的寬度必須是固定值,不能是auto或者100%因?yàn)閒ixed和absolute都不認(rèn)識(shí),當(dāng)然你也可以手動(dòng)獲取到導(dǎo)航的寬度,然后寫到浮動(dòng)導(dǎo)航樣式里,不過有個(gè)前提,導(dǎo)航原先樣式里不能有:position:relative,情況可能比較多,最簡(jiǎn)單的方法還是把導(dǎo)航寬度定死。
以上代碼可以復(fù)制復(fù)制到后臺(tái)設(shè)置的HTML頁腳代碼里,如果遇到浮動(dòng)導(dǎo)航寬度出問題了,就參考我剛才做的處理辦法解決吧。
- jQuery實(shí)現(xiàn)的導(dǎo)航條切換可顯示隱藏
- 用jQuery實(shí)現(xiàn)一些導(dǎo)航條切換,顯示隱藏的實(shí)例代碼
- jquery scrollTop方法根據(jù)滾動(dòng)像素顯示隱藏頂部導(dǎo)航條
- JQuery實(shí)現(xiàn)鼠標(biāo)滑過顯示導(dǎo)航下拉列表
- 基于jquery實(shí)現(xiàn)導(dǎo)航菜單高亮顯示(兩種方法)
- 基于jquery實(shí)現(xiàn)頁面滾動(dòng)時(shí)頂部導(dǎo)航顯示隱藏
- jQuery實(shí)現(xiàn)左側(cè)導(dǎo)航模塊的顯示與隱藏效果
- jquery實(shí)現(xiàn)隱藏與顯示動(dòng)畫效果/輸入框字符動(dòng)態(tài)遞減/導(dǎo)航按鈕切換
- php+jQuery實(shí)現(xiàn)的三級(jí)導(dǎo)航欄下拉菜單顯示效果
- jQuery實(shí)現(xiàn)的導(dǎo)航條點(diǎn)擊后高亮顯示功能示例
相關(guān)文章
Django中使用jquery的ajax進(jìn)行數(shù)據(jù)交互的實(shí)例代碼
這篇文章主要介紹了Django中使用jquery的ajax進(jìn)行數(shù)據(jù)交互的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值 ,需要的朋友可以參考下2017-10-10
Jquery 選中表格一列并對(duì)表格排序?qū)崿F(xiàn)原理
該實(shí)現(xiàn)的主要思想是:獲取鼠標(biāo)點(diǎn)擊的表頭單元格的列號(hào),遍歷數(shù)據(jù)行,獲取每個(gè)<tr>中的html,同時(shí)獲取每個(gè)<tr>標(biāo)簽下對(duì)應(yīng)獲取到的列號(hào)的<td>標(biāo)簽中的內(nèi)容,并取得<th>標(biāo)簽的type屬性值,需要的朋友可以了解下2012-12-12
Boostrap實(shí)現(xiàn)的登錄界面實(shí)例代碼
Bootstrap它是一個(gè)開源的web開發(fā)前端框架。本界面使用的Bootstrap是v3.3.5版本。這篇文章給大家?guī)砹嗽敿?xì)的實(shí)現(xiàn)代碼,非常不錯(cuò),感興趣的朋友一起看看吧2016-10-10
jQuery插件dataTables添加序號(hào)列的方法
這篇文章主要介紹了jQuery插件dataTables添加序號(hào)列的方法的相關(guān)資料,需要的朋友可以參考下2016-07-07
輕松學(xué)習(xí)jQuery插件EasyUI EasyUI創(chuàng)建樹形網(wǎng)絡(luò)(1)
這篇文章主要幫助大家輕松學(xué)習(xí)jQuery插件EasyUI,并且教大家如何利用EasyUI創(chuàng)建樹形網(wǎng)絡(luò),感興趣的小伙伴們可以參考一下2015-11-11
Jquery使用AJAX方法請(qǐng)求數(shù)據(jù)
本文詳細(xì)講解了Jquery使用AJAX方法請(qǐng)求數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
基于jquery的獲取mouse坐標(biāo)插件的實(shí)現(xiàn)代碼
用jquery實(shí)現(xiàn)的獲取mouse坐標(biāo)的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-04-04
Jquery find與filter函數(shù)區(qū)別 說明
基本是find子元素找,filter是平級(jí)找2010-05-05
12款經(jīng)典的白富美型—jquery圖片輪播插件—前端開發(fā)必備
圖片輪播是網(wǎng)站中的常用功能,用于在有限的網(wǎng)頁空間內(nèi)展示一組產(chǎn)品圖片或者照片,同時(shí)還有非常吸引人的動(dòng)畫效果,本文向大家推薦12款實(shí)用的 jQuery 圖片輪播效果插件感興趣的朋友可以了解下哦2013-01-01

