700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 原生js漂浮广告效果

原生js漂浮广告效果

时间:2023-01-05 06:10:24

相关推荐

原生js漂浮广告效果

原生js漂浮广告效果

静态页面代码

<body><div id="box"><img src="1.jpg" alt=""></div></body>

css样式

*{padding: 0;margin: 0;}#box{width: 200px;height: 200px;border: solid 1px black;position: absolute;top: 0;left: 0;background: url("../../img/0912160251944.jpg")no-repeat;}img{width: 20px;height: 20px;float: right;}

这些样式只供参考,可根据个人喜好更改

js代码区域

//获取元素var box = document.getElementById('box');var close = document.getElementsByTagName("img")[0];//允许的left最大值var maxleft = document.documentElement.clientWidth-box.offsetWidth;//允许的top最大值var maxtop= document.documentElement.clientHeight-box.offsetHeight;//设置一下响应式 当屏幕变化的时候获取新值window.onresize=function () {maxleft = document.documentElement.clientWidth-box.offsetWidth;maxtop= document.documentElement.clientHeight-box.offsetHeight;}//距上距离每次变化的值 单位pxvar t=4;//距左距离每次变化的值 单位pxvar l=4;//漂浮函数function piaofu() {//获取初始距左的距离var oldleft=box.offsetLeft;//设置新距左的距离var newleft =oldleft+l;//获取初始距上的距离var oldtop=box.offsetTop;//设置新距上的距离var newtop =oldtop+t;//如果距上的距离超过高度最大值,重新赋值为高度最大值if(newtop>maxtop){newtop=maxtop;}//如果距左的距离超过距左的最大值,重新赋值为距左最大值if(newleft>maxleft){newleft=maxleft;}//如果距上的距离小于高度最小值,重新赋值为高度最小值if(newtop<0){newtop=0}//如果距左的距离小于距左的最小值,重新赋值为距左最小值if(newleft<0){newleft=0}box.style.left=newleft+"px";box.style.top=newtop+"px";//进行判断if(newtop==maxtop ||newtop==0){t=-1*t;}if(newleft==maxleft ||newleft==0){l=-1*l;}// if(box.style.display=="none"){//setTimeout(function () {// box.style.display="block"//},3000)// }}//设置定时器var timer= setInterval(piaofu,20)//当鼠标放上的时候清楚定时器box.onmouseover=function () {clearInterval(timer)}//当鼠标移走的时候定时器继续box.onmouseout=function () {timer= setInterval(piaofu,20)}//当点击关闭按钮时隐藏close.onclick=function () {box.style.display='none'}

以上这些是我个人的想法,欢迎大家进行讨论、提出意见或建议,共同进步,感谢大家的浏览!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。