js監(jiān)聽滾動(dòng)條滾動(dòng)事件使得某個(gè)標(biāo)簽內(nèi)容始終位于同一位置
更新時(shí)間:2014年01月24日 15:08:05 作者:
js如何監(jiān)聽滾動(dòng)條滾動(dòng)事件,使得某個(gè)標(biāo)簽內(nèi)容始終位于同一位置,下面有個(gè)不錯(cuò)的示例,大家可以參考下
小知識(shí)點(diǎn),廢話不多說,直接上代碼
css:
<pre name="code" class="css"><style>
#anchor:{
position:absulate;
top:40%;
left:40%;
width:100px;
height:100px;
background-color:red;
}
</style></pre><br>
js:
<pre name="code" class="javascript">var auchorTop = $("#anchor").css("top");
auchorTop = Number(auchorTop.substring(0, anchorTop.indexOf("p"))); //首先在監(jiān)聽器外部記錄某id=anchor的標(biāo)簽的初始位置
window.onscroll = function () {
var top = document.documentElement.scrollTop || document.body.scrollTop;
$("#anchor").css("top", anchorTop + top + "px");
};</pre>
html:
<div id="anchor"></div>
在window.onscroll上即可添加滾動(dòng)條滾動(dòng)事件,在監(jiān)聽函數(shù)中的top=document.documentElement.scrollTop||document.body.scrollTop;之所以這么寫,就是避免不同瀏覽器的兼容性,這里我測(cè)試了chrom和ff瀏覽器,前者支持document.body.scrollTop這個(gè)屬性,后者支持另一個(gè)屬性,因此可以用‘||'符號(hào)糅合這兩個(gè)屬性,兼容不同瀏覽器。anchorTop就是目標(biāo)的開始與瀏覽器頂部的距離,這里還需要注意的是'#anchor‘這個(gè)標(biāo)簽的position:absulate,否則top屬性值總是是0px。
當(dāng)滾動(dòng)條滾動(dòng)時(shí),top值變化,隨后將'#anchor'的初始top值加上滾動(dòng)條的top值,即可保持內(nèi)容始終處于同一位置。
css:
復(fù)制代碼 代碼如下:
<pre name="code" class="css"><style>
#anchor:{
position:absulate;
top:40%;
left:40%;
width:100px;
height:100px;
background-color:red;
}
</style></pre><br>
js:
復(fù)制代碼 代碼如下:
<pre name="code" class="javascript">var auchorTop = $("#anchor").css("top");
auchorTop = Number(auchorTop.substring(0, anchorTop.indexOf("p"))); //首先在監(jiān)聽器外部記錄某id=anchor的標(biāo)簽的初始位置
window.onscroll = function () {
var top = document.documentElement.scrollTop || document.body.scrollTop;
$("#anchor").css("top", anchorTop + top + "px");
};</pre>
html:
復(fù)制代碼 代碼如下:
<div id="anchor"></div>
在window.onscroll上即可添加滾動(dòng)條滾動(dòng)事件,在監(jiān)聽函數(shù)中的top=document.documentElement.scrollTop||document.body.scrollTop;之所以這么寫,就是避免不同瀏覽器的兼容性,這里我測(cè)試了chrom和ff瀏覽器,前者支持document.body.scrollTop這個(gè)屬性,后者支持另一個(gè)屬性,因此可以用‘||'符號(hào)糅合這兩個(gè)屬性,兼容不同瀏覽器。anchorTop就是目標(biāo)的開始與瀏覽器頂部的距離,這里還需要注意的是'#anchor‘這個(gè)標(biāo)簽的position:absulate,否則top屬性值總是是0px。
當(dāng)滾動(dòng)條滾動(dòng)時(shí),top值變化,隨后將'#anchor'的初始top值加上滾動(dòng)條的top值,即可保持內(nèi)容始終處于同一位置。
您可能感興趣的文章:
- js監(jiān)聽html頁面的上下滾動(dòng)事件方法
- vue 純js監(jiān)聽滾動(dòng)條到底部的實(shí)例講解
- Bootstrap滾動(dòng)監(jiān)聽組件scrollspy.js使用方法詳解
- Vue.js實(shí)戰(zhàn)之通過監(jiān)聽滾動(dòng)事件實(shí)現(xiàn)動(dòng)態(tài)錨點(diǎn)
- Bootstrap教程JS插件滾動(dòng)監(jiān)聽學(xué)習(xí)筆記分享
- JavaScript實(shí)現(xiàn)點(diǎn)擊文本自動(dòng)定位到下拉框選中操作
- js實(shí)現(xiàn)滾動(dòng)條滾動(dòng)到某個(gè)位置便自動(dòng)定位某個(gè)tr
- JS監(jiān)聽滾動(dòng)和id自動(dòng)定位滾動(dòng)
相關(guān)文章
wufengteam?core統(tǒng)一中心注冊(cè)器功能解析
這篇文章主要為大家介紹了wufengteam?core統(tǒng)一中心注冊(cè)器功能解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11js實(shí)現(xiàn)移動(dòng)端微信頁面禁止字體放大
本文主要介紹了js實(shí)現(xiàn)移動(dòng)端微信頁面禁止字體放大的方法,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02JS獲取復(fù)選框的值,并傳遞到后臺(tái)的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄狫S獲取復(fù)選框的值,并傳遞到后臺(tái)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05JS實(shí)現(xiàn)頁面加載完成之后自動(dòng)刷新一次問題
這篇文章主要介紹了JS實(shí)現(xiàn)頁面加載完成之后自動(dòng)刷新一次問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02用js+iframe形成頁面的一種遮罩效果的具體實(shí)現(xiàn)
用js形成頁面的一種遮罩效果,選擇想要進(jìn)行遮罩的窗口,在這里想要遮罩的是一個(gè)iframe窗口,具體的實(shí)現(xiàn)如下,感興趣的朋友可以參參考下2013-12-12js獲取GridView中行數(shù)據(jù)的兩種方法 分享
這篇文章介紹了js獲取GridView中行數(shù)據(jù)的方法,有需要的朋友可以參考一下2013-07-07JavaScript實(shí)現(xiàn)可拖拽的拖動(dòng)層Div實(shí)例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)可拖拽的拖動(dòng)層Div的方法,拖拽頁面中的div塊可實(shí)現(xiàn)div塊按照拖動(dòng)軌跡移動(dòng)的效果,涉及javascript鼠標(biāo)事件、頁面元素樣式結(jié)合事件函數(shù)動(dòng)態(tài)操作的相關(guān)技巧,需要的朋友可以參考下2015-08-08