admin 发表于 2022-1-16 15:56:10

JS实现弹性漂浮广告代码

弹性悬浮广告效果图

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"
2.获取div可以移动的页面大小
      //网页可视化宽高--div(广告)可以移动的区域
      var seeWidth = document.documentElement.clientWidth;
      var seeHeight = document.documentElement.clientHeight;
      //div(广告)最大可移动的宽度、高度
      var maxLeft = seeWidth -100;
      var maxTop = seeHeight -100;
3.定时器控制移动,鼠标移入事件停止移动,鼠标移出继续移动。
       //启动定时器
      var t= setInterval(move,30);
      //鼠标移入清除定时器
      div1.onmouseenter = function(){
            clearInterval(t);
      }
      //鼠标移出恢复
      div1.onmouseleave = function(){
            t = setInterval(move,30);
      }
4.点击事件点击让div消失
      //点击事件,点击后消失
      div1.onclick = function(){
            div1.style.display = "none"
      }
5.实现悬浮广告的完整代码
<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>
页: [1]
查看完整版本: JS实现弹性漂浮广告代码