當(dāng)然,大家都挺忙,直接說(shuō)目前我在用的方案、調(diào)用方式以及源碼,然后再擴(kuò)展的說(shuō)!
方案:scrollfix.js
推薦理由:可指定元素,可指定高度,可指定位置,可指定跟蹤元素,還想怎樣?頂多也就差個(gè)animate.css使它更酷炫了。
應(yīng)用實(shí)例:找前輩網(wǎng)前輩詳情頁(yè)-左右導(dǎo)航
調(diào)用方式:$("#fix").scrollFix({
startTop:"#startTop",
distanceTop:20,
endPos:"#footer"
});
源碼下載:
參考演示:
http://www.jq22.com/yanshi9192
參數(shù)說(shuō)明:
參數(shù)名字參數(shù)值參數(shù)作用
startTopnull開始固定的jquery對(duì)象的頂部
startBottomnull開始固定的jquery對(duì)象末端,兩個(gè)參數(shù)都設(shè)置的話,默認(rèn)后面參數(shù)生效
distanceTop0/null數(shù)值,距離頂部的高度,可以為高度或者jquery對(duì)象
endPosnull/0距離底部的高度,可以為高度或者jquery對(duì)象
bottom-1默認(rèn)不使用位置為bottom的值,當(dāng)設(shè)置為0,將會(huì)停在窗口底端
zIndex0當(dāng)沒(méi)有設(shè)置這個(gè)值時(shí),將默認(rèn)使用元素的css z-index值
baseClassName'scrollfixed'當(dāng)元素開始固定時(shí)給它添加一個(gè)class,你可以設(shè)置為你喜歡的類名。
1、startTop:null
不設(shè)置:鼠標(biāo)滾動(dòng),指定元素開始滾動(dòng)則開始浮動(dòng)。
設(shè)置:如startTop:"#startTop",則到了#startTop頂部開始浮動(dòng)指定元素
2、startBottom:null
不設(shè)置:鼠標(biāo)滾動(dòng),指定元素開始滾動(dòng)則開始浮動(dòng)。
設(shè)置:如startTop:"#startTop",則到了#startTop底部開始浮動(dòng)指定元素。(設(shè)置同一個(gè)元素會(huì)沖突,將以這個(gè)為準(zhǔn))。
3、distanceTop:0
距離頂部的高度,默認(rèn)為0。
4、endPos:0
距離頂部的高度為多少時(shí)停止浮動(dòng),并固定在相應(yīng)位置,可以指定jquery對(duì)象,如:endPos:"#footer",也可以是數(shù)字:endPos:300.
5、ottom:-1
默認(rèn)不使用位置為bottom的值,當(dāng)設(shè)置為0,將會(huì)停在窗口底端
6、zIndex:0
當(dāng)沒(méi)有設(shè)置這個(gè)值時(shí),將默認(rèn)使用元素css的z-index值
7、baseClassName:scrollfixed
當(dāng)元素開始固定時(shí)給它添加一個(gè)class,你可以設(shè)置為你喜歡的類名。
注意:
使用時(shí),css添加的屬性為position:static。元素出現(xiàn)在正常文本流中,跟經(jīng)常用的position:fixed脫離文本流不同。
擴(kuò)展閱讀:
在固定導(dǎo)航方案中,一般都是響應(yīng)鼠標(biāo)滾動(dòng),即鼠標(biāo)開始滾動(dòng)則固定,比如頂部導(dǎo)航?;蛘唔憫?yīng)元素位置,即元素出現(xiàn)了,則固定,這兩種模式。
而固定位置一般分為頂部導(dǎo)航,側(cè)邊欄導(dǎo)航,兩側(cè)廣告和底部欄導(dǎo)航等。
固定的插件較多,可參考: