javascript跟隨滾動條滾動的層(浮動AD效果)
更新時間:2007年08月28日 20:35:00 作者:
其實這個效果在很多網(wǎng)站中都能見到,其主要表現(xiàn)為網(wǎng)頁兩側的浮動廣告??雌饋砀杏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;
}
這段代碼是為了兼容標準,在xhtml頁面中,document.body.scrollTop始終為0,即該屬性無效,因此必須用其他的屬性來判斷,為兼容新舊標準,應該對屬性的可用性進行判斷。
引用網(wǎng)上的一段文字:
引用
應用WEB標準會使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永遠等于0
body onscroll = "alert(document.body.scrollTop);"永遠也不會引發(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;
}
這段代碼是為了兼容標準,在xhtml頁面中,document.body.scrollTop始終為0,即該屬性無效,因此必須用其他的屬性來判斷,為兼容新舊標準,應該對屬性的可用性進行判斷。
引用網(wǎng)上的一段文字:
引用
應用WEB標準會使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永遠等于0
body onscroll = "alert(document.body.scrollTop);"永遠也不會引發(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 右側浮動層效果實現(xiàn)代碼(跟隨滾動)
- js寫出遮罩層登陸框和對聯(lián)廣告并自動跟隨滾動條滾動
- javascript跟隨滾動效果插件代碼(javascript Follow Plugin)
- 博客側邊欄模塊跟隨滾動條滑動固定效果的實現(xiàn)方法(js+jquery等)
- xScrollStick 跟隨滾動條漂浮的JS特效
- js跟隨滾動條滾動浮動代碼
- JavaScript實現(xiàn)跟隨滾動緩沖運動廣告框
相關文章
javascript定義變量時帶var與不帶var的區(qū)別分析
這篇文章主要介紹了javascript定義變量時帶var與不帶var的區(qū)別,以一個簡單實例分析了變量定義時帶var與不帶var的執(zhí)行原理及用法區(qū)別,需要的朋友可以參考下2015-01-01

