JS弹性漂浮广告
土豆切成丝 人气:0效果图
1.功能(鼠标移入移出事件、点击事件、定时器控制移动)
div实现在页面上移动,并判断碰到页面边框反弹,鼠标移入div停止移动,鼠标移出div进行移动,点击div让它从页面消失,定时器控制它的移动。
2.div初始样式设置
//div(广告)获取节点 var div1 = document.getElementById("div1"); // div(广告)初始的位置 var offsetx = 0; var offsety = 0; //div(广告)每次移动的距离 var stepx = 10; var stepy = 10; //div(广告)的大小 div1.style.width="100px" div1.style.height="100px" //设置定位 div1.style.position="absolute" div1.style.top = offsetx; div1.style.left = offsety; //广告图片 div1.style.backgroundImage="url(./img/ggao.webp)" div1.style.backgroundSize="cover"
3.获取div可以移动的页面大小
//网页可视化宽高--div(广告)可以移动的区域 var seeWidth = document.documentElement.clientWidth; var seeHeight = document.documentElement.clientHeight; //div(广告)最大可移动的宽度、高度 var maxLeft = seeWidth -100; var maxTop = seeHeight -100;
4.定时器控制移动,鼠标移入事件停止移动,鼠标移出继续移动。
//启动定时器 var t= setInterval(move,30); //鼠标移入清除定时器 div1.onmouseenter = function(){ clearInterval(t); } //鼠标移出恢复 div1.onmouseleave = function(){ t = setInterval(move,30); }
5.点击事件点击让div消失
//点击事件,点击后消失 div1.onclick = function(){ div1.style.display = "none" }
6.完整代码
<div id="div1"> </div> <body> <script> //div(广告)获取节点 var div1 = document.getElementById("div1"); // div(广告)初始的位置 var offsetx = 0; var offsety = 0; //div(广告)每次移动的距离 var stepx = 10; var stepy = 10; //div(广告)的大小 div1.style.width="100px" div1.style.height="100px" //设置定位 div1.style.position="absolute" div1.style.top = offsetx; div1.style.left = offsety; // div1.style.backgroundColor="black" div1.style.backgroundImage="url(./img/ggao.webp)" div1.style.backgroundSize="cover" //网页可视化宽高--div(广告)可以移动的区域 var seeWidth = document.documentElement.clientWidth; var seeHeight = document.documentElement.clientHeight; //div(广告)最大可移动的宽度、高度 var maxLeft = seeWidth -100; var maxTop = seeHeight -100; function move(){ offsetx+=stepx; offsety+=stepy; console.log(offsetx); console.log(offsety) //大于可移动的高度或到达顶部 就让移动的距离变为它的负数 if(offsety>=maxTop||offsety<=0){ stepy = -stepy; } //大于可移动的宽度或到达最左 就让移动的距离变为它的负数 if(offsetx>=maxLeft||offsetx<=0){ stepx=-stepx; } //div定位的位置 div1.style.top = offsety+"px" div1.style.left = offsetx+"px" } //启动定时器 var t= setInterval(move,30); //鼠标移入清除定时器 div1.onmouseenter = function(){ clearInterval(t); } //鼠标移出恢复 div1.onmouseleave = function(){ t = setInterval(move,30); } //点击事件,点击后消失 div1.onclick = function(){ div1.style.display = "none" } </script>
加载全部内容