javascript跟隨滾動條滾動的層(浮動AD效果)
更新時間:2007年08月28日 20:35:00 作者:
其實這個效果在很多網(wǎng)站中都能見到,其主要表現(xiàn)為網(wǎng)頁兩側(cè)的浮動廣告??雌饋砀杏X很難做,但其實原理是很簡單的,使用定時器沒0.1秒檢測層的位置并將其置在指定的位置(相對于窗口)。寫了一個簡單的代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(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頁面中,document.body.scrollTop始終為0,即該屬性無效,因此必須用其他的屬性來判斷,為兼容新舊標(biāo)準(zhǔn),應(yīng)該對屬性的可用性進(jìn)行判斷。
引用網(wǎng)上的一段文字:
引用
應(yīng)用WEB標(biāo)準(zhǔn)會使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)也不會引發(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需再刷新一下頁面才能執(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頁面中,document.body.scrollTop始終為0,即該屬性無效,因此必須用其他的屬性來判斷,為兼容新舊標(biāo)準(zhǔn),應(yīng)該對屬性的可用性進(jìn)行判斷。
引用網(wǎng)上的一段文字:
引用
應(yīng)用WEB標(biāo)準(zhǔn)會使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)也不會引發(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實現(xiàn)二維碼圖片固定在右下角某處并跟隨滾動條滾動
- javascript簡單實現(xiàn)跟隨滾動條漂浮的返回頂部按鈕效果
- 基于JavaScript實現(xiàn)div層跟隨滾動條滑動
- js 右側(cè)浮動層效果實現(xiàn)代碼(跟隨滾動)
- js寫出遮罩層登陸框和對聯(lián)廣告并自動跟隨滾動條滾動
- javascript跟隨滾動效果插件代碼(javascript Follow Plugin)
- 博客側(cè)邊欄模塊跟隨滾動條滑動固定效果的實現(xiàn)方法(js+jquery等)
- xScrollStick 跟隨滾動條漂浮的JS特效
- js跟隨滾動條滾動浮動代碼
- JavaScript實現(xiàn)跟隨滾動緩沖運(yùn)動廣告框
相關(guān)文章
JavaScript兩種axios取消請求方式小結(jié)
本文主要介紹了JavaScript兩種axios取消請求方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Javascript調(diào)試腳本的經(jīng)驗之談
隨著用JavaScript編程的深入,你會開始理解那些JavaScript給出的不透明錯誤信息。一旦你理解了你常犯的一般性錯誤,你就會很快知道怎樣避免它們,這樣你寫的代碼中的錯誤將越來越少。2008-10-10Uniapp如何封裝網(wǎng)絡(luò)請求方法demo
這篇文章主要為大家介紹了Uniapp如何封裝網(wǎng)絡(luò)請求方法demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10javascript定義變量時帶var與不帶var的區(qū)別分析
這篇文章主要介紹了javascript定義變量時帶var與不帶var的區(qū)別,以一個簡單實例分析了變量定義時帶var與不帶var的執(zhí)行原理及用法區(qū)別,需要的朋友可以參考下2015-01-01