基于JS實(shí)現(xiàn)頁(yè)面懸浮框的實(shí)例代碼
當(dāng)滾動(dòng)條下拉時(shí),懸浮框位置不變,主要是 position:fixed;樣式的作用.
當(dāng)下拉到一定程度,接近footer時(shí),我用js控制div消失,往上拉滾動(dòng)條時(shí)又顯示.
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.div1 {
height:2000px;
}
.div2 {
width:100%;
height:35px;
background-color:#3399FF;
margin-top:100px;
}
.div2_1{
position:fixed;
width:100%;
height:35px;
z-index:999;
background-color:#3399FF;
top:0px;
_position:absolute;
_bottom:auto;
_top:expression(eval(document.documentElement.scrollTop));
}
.div2_2
{
display:none;
}
</style>
<script type="text/javascript">
window.onscroll=function(){
var t=document.documentElement.scrollTop||document.body.scrollTop;
var div2=document.getElementById("div2");
if(t>= 100){
div2.className = "div2_1";
}else{
div2.className = "div2";
}
}
</script>
</head>
<body>
<div class="div1">
<div id="div2" class="div2"></div>
</div>
</body>
</html>
補(bǔ)充:JavaScript實(shí)現(xiàn)右側(cè)懸浮框
HTML代碼:
<body> <div id="div1"> </div> </body>
css代碼:
#div1{
height:150px;
width:100px;
background:red;
position:absolute;
right:0px;
bottom:0px;
}
body{
height:2000px;
}
javascript代碼
//當(dāng)窗體滾動(dòng)的時(shí)候滴呀
window.onscroll=function (){
var obj=document.getElementById("div1");
//考慮到瀏覽器的兼容性滴呀(被卷去的高度)
var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;
//瀏覽器可視區(qū)域的高度+物體自身的高度+被卷曲的高度
// obj.style.top=document.documentElement.clientHeight-obj.offsetHeight+scrollTop+'px';
//var targetLen=document.documentElement.clientHeight-obj.offsetHeight+scrollTop;
//move(targetLen);
//這樣我們就完成了基本的人物我滴
//方式二:結(jié)果他是要抖動(dòng)滴呀
//var targetLen=(document.documentElement.clientHeight)/2-obj.offsetHeight+scrollTop;
//move(targetLen);
var targetLen=parseInt((document.documentElement.clientHeight)/2-obj.offsetHeight+scrollTop);
move(targetLen);
//這樣我們的基本功能算是實(shí)現(xiàn)了滴呀
}
//這里我們倆加上一個(gè)緩沖運(yùn)動(dòng)滴呀,這樣才方便我們?nèi)ミ@些事情滴呀
var Timer=null;
function move(iTarget){
clearInterval(Timer);//先清除
var obj=document.getElementById("div1");
Timer=setInterval(function (){ //距離上面物體的距離滴呀
var speed=(iTarget-obj.offsetTop)/4;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
//先獲取我們的速度滴呀
if(obj.offsetTop==iTarget){
clearInterval(timer); //到達(dá)目的之后,我們就清除元素滴呀
}else{
obj.style.top=obj.offsetTop+speed+'px';
}
},30)
//來(lái)進(jìn)行我們餓緩沖運(yùn)動(dòng)滴呀
}
到此這篇關(guān)于基于JS實(shí)現(xiàn)頁(yè)面懸浮框的實(shí)例代碼的文章就介紹到這了,更多相關(guān)js頁(yè)面懸浮框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信小程序項(xiàng)目實(shí)踐之驗(yàn)證碼倒計(jì)時(shí)功能
這篇文章主要介紹了微信小程序項(xiàng)目實(shí)踐之驗(yàn)證碼倒計(jì)時(shí)功能,當(dāng)用戶點(diǎn)擊發(fā)送驗(yàn)證碼按鈕,按鈕背景變色,不可點(diǎn)擊,顯示倒計(jì)時(shí)文字,需要的朋友可以參考下2018-07-07
js jquery 獲取某一元素到瀏覽器頂端的距離實(shí)現(xiàn)方法
今天小編就為大家分享一篇js jquery 獲取某一元素到瀏覽器頂端的距離實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
使用JS手寫(xiě)一個(gè)類(lèi)似?Laravel?驗(yàn)證器的表單驗(yàn)證器
這篇文章主要為大家介紹了使用JS手寫(xiě)一個(gè)類(lèi)似?Laravel?驗(yàn)證器的表單驗(yàn)證器實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
javascript bom是什么及bom和dom的區(qū)別
BOM是瀏覽器對(duì)象模型,DOM是文檔對(duì)象模型,前者是對(duì)瀏覽器本身進(jìn)行操作,而后者是對(duì)瀏覽器(可看成容器)內(nèi)的內(nèi)容進(jìn)行操作。這篇文章給大家介紹javascript bom是什么及bom和dom的區(qū)別,感興趣的朋友一起學(xué)習(xí)吧2015-11-11
如何用js將blob為pcm格式轉(zhuǎn)換為MP3格式
要將PCM文件轉(zhuǎn)換為MP3文件,您可以使用Js實(shí)現(xiàn),這篇文章主要給大家介紹了關(guān)于如何用js將blob為pcm格式轉(zhuǎn)換為MP3格式的相關(guān)資料,需要的朋友可以參考下2023-11-11
uniapp和uniCloud開(kāi)發(fā)中常出現(xiàn)的問(wèn)題及解決匯總
使用uni 開(kāi)發(fā)一段時(shí)間了,下面這篇文章主要給大家介紹了關(guān)于uniapp和uniCloud開(kāi)發(fā)中常出現(xiàn)的問(wèn)題及解決的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
詳解小程序如何動(dòng)態(tài)綁定點(diǎn)擊的執(zhí)行方法
這篇文章主要介紹了詳解小程序如何動(dòng)態(tài)綁定點(diǎn)擊的執(zhí)行方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11

