问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javascript代码求助 广告层跟随屏幕滚动

发布网友 发布时间:2022-04-28 16:34

我来回答

4个回答

懂视网 时间:2022-05-16 01:09

这篇文章主要为大家详细介绍了JavaScript实现跟随滚动缓冲运动广告框,页面左右两边跟随式广告框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

当我们浏览一些网页时我们会发现页面的的边上会有广告图片,当滚动滚动条的时候这些广告图片会跟随性的随页面一起运动(这里我叫它为广告框)。一些网页的广告框是固定在浏览器上的用background:fixed;便可实现。这里我用JavaScript简单的制作了一个随滚动缓冲运动的广告框。

制作的原理比较简单,大家都有一个完美的js运动框架,这里的缓冲运动需要用到。这里的广告框设定的是跟随滚动条缓冲运动并运动到浏览器的中间位置。需要理解的是运动距离的计算和一些细节上的处理(一些BUG的预防)

这是我在这里使用的一个js运动框架,传递的参数只有一个并不是完美运动框架。传递的参数是广告框的运动距离,因此我在运动框架内又获取了一次对象。


样式和布局代码

 <style>
 #p1{
 width: 100px;
 height: 100px;
 background: #ccc;
 position: absolute;
 //使用绝对定位让其处于右上方
 right: 0;
 top: 0;
 </style>

 <body style="height: 2000px;">
 <p id="p1"></p>
 </body>

js代码

这里增加了.onscroll属性目的是当滚动滚动条的时候也加载页面,广告框就能随着滚动条一起运动了。还增加了.onresize属性,由于我要实现广告框一直是运动到浏览器的中间位置,然而当我改变浏览器高度的时候也要实现广告框的运动,所以增加该属性,当浏览器大小改变时加载。

当滚动条滚动到菜单位置时,怎样让他固定到浏览器顶端,当滚动条回到他原来位置时,他就停在哪里。
网上很多都是要引用一个jquery插件,感觉很麻烦。
该怎样写一个这样的效果呢?

大致写个思路吧,肯定是自己调试比直接引用jQuery插件麻烦大家才会纷纷引插件来用

用onscroll事件判断用户滚动的位置,用菜单元素的offsetTop属性判断它的显示位置

如果滚动到了菜单到顶的时候,把菜单的display改成fixed

等下一个菜单滚到某个适当的位置时,把原来菜单的diplay改回来,把新菜单改成fixed

热心网友 时间:2022-05-15 22:17

请把第17行改为:
document.getElementById("Layer1").style.pixelTop=document.body.scrollTop+top;

-------------------------------
http://www.diukai.com
-------------------------------

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>

<script language="javascript">
var top;

function getTop()
{

top=document.getElementById("Layer1").style.pixelTop;
}

function move()
{

document.getElementById("Layer1").style.pixelTop=document.body.scrollTop+top;
}

function myClose()
{
document.getElementById("Layer1").style.display="none";
}

window.onscroll=move;
</script>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
width:180px;
height:207px;
z-index:1;
left: 70px;
top: 105px;
background-color: #000000;
}
#Layer2 {
position:absolute;
width:52px;
height:56px;
z-index:1;
background-color: #CCCCCC;
}
-->
</style>
</head>

<body onLoad="getTop()">
<p>a</p>
<p> </p>
<p>a</p>
<div id="Layer1">
<div id="Layer2"><a href="javascript:myClose();">关闭</a></div>
</div>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>
<p> </p>
<p>a</p>

</body>
</html>

热心网友 时间:2022-05-15 23:35

以前扒的一段代码。

放在</head>和<body>之间就可以了。 你整理下应该对你有所帮助

<script language=javascript>function close163news(){searchspe.style.visibility='hidden';searchspe2.style.visibility='hidden';} var specialcode="<DIV id=searchspe style='Z-INDEX: 100; right: 1px; POSITION: absolute; TOP: 30px;'><TABLE cellSpacing=0 cellPadding=0 width=150 style='font-size:12px;color:#ffffff'><TR bgcolor=#C54A00><TD height=20> 推荐↓</TD><TD style='CURSOR: hand' onclick='close163news()' width=30>关 闭</TD></TR></TABLE>这里放入代码</DIV>";document.write(specialcode);lastScrollX=0;function heartBeat0(){diffY=document.body.scrollTop;percent=.1*(diffY-lastScrollX);if(percent>0)percent=Math.ceil(percent);else percent=Math.floor(percent);document.all.searchspe.style.pixelTop+=percent;lastScrollX=lastScrollX+percent;}window.setInterval("heartBeat0()",1);var specialcode2="<DIV id=searchspe2 style='Z-INDEX: 100; left: 1px; POSITION: absolute; TOP: 30px;'><TABLE cellSpacing=0 cellPadding=0 width=150 style='font-size:12px;color:#ffffff'><TR bgcolor=#12BDFF><TD height=20> 推荐↓</TD><TD style='CURSOR: hand' onclick='close163news()' width=30>关 闭</TD></TR></TABLE>这里放入代码</DIV>";document.write(specialcode2);lastScrollY=0;function heartBeat1(){diffY=document.body.scrollTop;percent=.1*(diffY-lastScrollY);if(percent>0)percent=Math.ceil(percent);else percent=Math.floor(percent);document.all.searchspe2.style.pixelTop+=percent;lastScrollY=lastScrollY+percent;}window.setInterval("heartBeat1()",1);</script>

热心网友 时间:2022-05-16 01:09

你的两个z-index属性不能一样
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 求JavaScript漂浮广告代码 JavaScript回调函数是怎么实现非阻塞的 如何实现Javascript的include功能? 如何让动态插入的javascript脚本代码跑起来 龙湖栖贤谷景区开工建设了吗 谢鲁山庄为何被称为全国四大私人庄园之一? 逆水寒怎么提高风水值 麻花如何做好吃? 关于darklore manor(darklore庄园)的详细! 我的世界林地庄园介绍 煮麻花应该怎么做好吃 逆水寒庄园美观值怎么提升 明日之后哪位大神有这个庄园教程 平安保单宝贷款怎么贷 沣峪庄园大门到山顶的瀑布需要几小时 麻花怎么做好吃,小麻花的家常做法 农村建房大门尺寸选择多大的最合适 麻花怎么做如何做好吃 莫氏庄园的主要景点 平安保单宝申请流程 熟悉网页制作的请进,如何在网页打开后30秒再加载广告? 用javascript动态加载的内容不能再次执行javascript。 JAVASCRIPT代码如何在网页中呈现动态效果 如何不定义函数和过程,利用JAVASCRIPT在页面上插入广告? 如何在地址栏中输入一段js代码,使当前页面动态载入一段js脚本文件!_百 ... 如何在页面中异步加载css/js,写出对应的loadcss,loadjs function_百度知... 台式电脑怎么用wifi 台式机连wifi攻略 用台式电脑怎么开wifi 如何策划一场浪漫的婚礼 恐龙吃哪些食物? 恐龙主要吃什么食物? 恐龙喜欢吃什么呢? 虚假广告的表现形式 恐龙都吃什么? 常见的虚假广告有什么? 恐龙吃什么东西 常见的虚假广告是什么呢? 恐龙吃什么 恐龙喜欢吃什么 常见的一个虚假广告是什么呢?