javascript跟隨滾動(dòng)條滾動(dòng)的層(浮動(dòng)AD效果)
更新時(shí)間:2007年08月28日 20:35:00 作者:
其實(shí)這個(gè)效果在很多網(wǎng)站中都能見到,其主要表現(xiàn)為網(wǎng)頁(yè)兩側(cè)的浮動(dòng)廣告??雌饋?lái)感覺很難做,但其實(shí)原理是很簡(jiǎn)單的,使用定時(shí)器沒0.1秒檢測(cè)層的位置并將其置在指定的位置(相對(duì)于窗口)。寫了一個(gè)簡(jiǎn)單的代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
注意:
if (window.innerHeight) {
posX = window.pageXOffset;
posY = window.pageYOffset;
}
else if (document.documentElement && document.documentElement.scrollTop) {
posX = document.documentElement.scrollLeft;
posY = document.documentElement.scrollTop;
}
else if (document.body) {
posX = document.body.scrollLeft;
posY = document.body.scrollTop;
}
這段代碼是為了兼容標(biāo)準(zhǔn),在xhtml頁(yè)面中,document.body.scrollTop始終為0,即該屬性無(wú)效,因此必須用其他的屬性來(lái)判斷,為兼容新舊標(biāo)準(zhǔn),應(yīng)該對(duì)屬性的可用性進(jìn)行判斷。
引用網(wǎng)上的一段文字:
引用
應(yīng)用WEB標(biāo)準(zhǔn)會(huì)使ScrollTop屬性失效?。?!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
加上這段后,document.body.scrollTop永遠(yuǎn)等于0
body onscroll = "alert(document.body.scrollTop);"永遠(yuǎn)也不會(huì)引發(fā)。
解決辦法:
使用:
document.documentElement.scrollTop
示例一:
var scrollPos;
if (typeof window.pageYOffset != 'undefined') {
scrollPos = window.pageYOffset;
}
else if (typeof document.compatMode != 'undefined' &&
document.compatMode != 'BackCompat') {
scrollPos = document.documentElement.scrollTop;
}
else if (typeof document.body != 'undefined') {
scrollPos = document.body.scrollTop;
}
alert(scrollPos);
示例二:
function WebForm_GetScrollX()
{
if (__nonMSDOMBrowser)
{
return window.pageXOffset;
}
else
{
if (document.documentElement && document.documentElement.scrollLeft)
{
return document.documentElement.scrollLeft;
}
else if (document.body)
{
return document.body.scrollLeft;
}
}
return 0;
}
-------------------------------------
pageYOffset是netscape的
document.body.scrollTop和document.documentElement.scrollTop是ie的,但我不知道他們的真正區(qū)別,只知道documentElement.scrollTop是xhtml兼容的(我用的是strict)
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
注意:
if (window.innerHeight) {
posX = window.pageXOffset;
posY = window.pageYOffset;
}
else if (document.documentElement && document.documentElement.scrollTop) {
posX = document.documentElement.scrollLeft;
posY = document.documentElement.scrollTop;
}
else if (document.body) {
posX = document.body.scrollLeft;
posY = document.body.scrollTop;
}
這段代碼是為了兼容標(biāo)準(zhǔn),在xhtml頁(yè)面中,document.body.scrollTop始終為0,即該屬性無(wú)效,因此必須用其他的屬性來(lái)判斷,為兼容新舊標(biāo)準(zhǔn),應(yīng)該對(duì)屬性的可用性進(jìn)行判斷。
引用網(wǎng)上的一段文字:
引用
應(yīng)用WEB標(biāo)準(zhǔn)會(huì)使ScrollTop屬性失效?。?!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
加上這段后,document.body.scrollTop永遠(yuǎn)等于0
body onscroll = "alert(document.body.scrollTop);"永遠(yuǎn)也不會(huì)引發(fā)。
解決辦法:
使用:
document.documentElement.scrollTop
示例一:
var scrollPos;
if (typeof window.pageYOffset != 'undefined') {
scrollPos = window.pageYOffset;
}
else if (typeof document.compatMode != 'undefined' &&
document.compatMode != 'BackCompat') {
scrollPos = document.documentElement.scrollTop;
}
else if (typeof document.body != 'undefined') {
scrollPos = document.body.scrollTop;
}
alert(scrollPos);
示例二:
function WebForm_GetScrollX()
{
if (__nonMSDOMBrowser)
{
return window.pageXOffset;
}
else
{
if (document.documentElement && document.documentElement.scrollLeft)
{
return document.documentElement.scrollLeft;
}
else if (document.body)
{
return document.body.scrollLeft;
}
}
return 0;
}
-------------------------------------
pageYOffset是netscape的
document.body.scrollTop和document.documentElement.scrollTop是ie的,但我不知道他們的真正區(qū)別,只知道documentElement.scrollTop是xhtml兼容的(我用的是strict)
您可能感興趣的文章:
- 基于JS實(shí)現(xiàn)二維碼圖片固定在右下角某處并跟隨滾動(dòng)條滾動(dòng)
- javascript簡(jiǎn)單實(shí)現(xiàn)跟隨滾動(dòng)條漂浮的返回頂部按鈕效果
- 基于JavaScript實(shí)現(xiàn)div層跟隨滾動(dòng)條滑動(dòng)
- js 右側(cè)浮動(dòng)層效果實(shí)現(xiàn)代碼(跟隨滾動(dòng))
- js寫出遮罩層登陸框和對(duì)聯(lián)廣告并自動(dòng)跟隨滾動(dòng)條滾動(dòng)
- javascript跟隨滾動(dòng)效果插件代碼(javascript Follow Plugin)
- 博客側(cè)邊欄模塊跟隨滾動(dòng)條滑動(dòng)固定效果的實(shí)現(xiàn)方法(js+jquery等)
- xScrollStick 跟隨滾動(dòng)條漂浮的JS特效
- js跟隨滾動(dòng)條滾動(dòng)浮動(dòng)代碼
- JavaScript實(shí)現(xiàn)跟隨滾動(dòng)緩沖運(yùn)動(dòng)廣告框
相關(guān)文章
JavaScript兩種axios取消請(qǐng)求方式小結(jié)
本文主要介紹了JavaScript兩種axios取消請(qǐng)求方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03在js(jquery)中獲得文本框焦點(diǎn)和失去焦點(diǎn)的方法
文章介紹兩個(gè)方法和種是利用javascript onFocus onBlur來(lái)判斷焦點(diǎn)和失去焦點(diǎn),加一種是利用jquery $("p").blur(); 或$("p").blur(fn)來(lái)實(shí)現(xiàn),有需要的朋友可以參考一下2012-12-12Javascript調(diào)試腳本的經(jīng)驗(yàn)之談
隨著用JavaScript編程的深入,你會(huì)開始理解那些JavaScript給出的不透明錯(cuò)誤信息。一旦你理解了你常犯的一般性錯(cuò)誤,你就會(huì)很快知道怎樣避免它們,這樣你寫的代碼中的錯(cuò)誤將越來(lái)越少。2008-10-10Uniapp如何封裝網(wǎng)絡(luò)請(qǐng)求方法demo
這篇文章主要為大家介紹了Uniapp如何封裝網(wǎng)絡(luò)請(qǐng)求方法demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10使用javascript做時(shí)間倒數(shù)讀秒功能的實(shí)例
今天小編就為大家分享一篇關(guān)于使用javascript做時(shí)間倒數(shù)讀秒功能的實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01uniapp制作一個(gè)收縮通訊錄的實(shí)現(xiàn)代碼
這篇文章主要介紹了uniapp制作一個(gè)收縮通訊錄的實(shí)現(xiàn)代碼,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-12-12js實(shí)現(xiàn)點(diǎn)擊切換和自動(dòng)播放的輪播圖
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)點(diǎn)擊切換和自動(dòng)播放的輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07javascript定義變量時(shí)帶var與不帶var的區(qū)別分析
這篇文章主要介紹了javascript定義變量時(shí)帶var與不帶var的區(qū)別,以一個(gè)簡(jiǎn)單實(shí)例分析了變量定義時(shí)帶var與不帶var的執(zhí)行原理及用法區(qū)別,需要的朋友可以參考下2015-01-01