原生JavaScript实现图片左右往复移动效果

作者:异步漫步时间:2026-10-21 19:32:10浏览:481

本文介绍如何使用原生JavaScript实现图片在指定范围内左右往复移动的效果。通过操作DOM元素的left属性并结合setTimeout设置定时器,无需使用marquee标签即可实现平滑的动画效果。代码包含HTML结构、CSS样式及JS逻辑,适合前端初学者参考学习。

原生JS实现图片左右移动效果

该效果基于JavaScript实现,当图片移动至200像素位置后返回0像素,随后再次向右移动200像素,如此循环往复进行左右移动,整个过程无需依赖marquee标签。

以下是完整的HTML代码示例,将其保存为HTML文件并在浏览器中打开即可查看运行效果:


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>JS使图片左右移动_何问起</title>
 <meta charset="utf-8" />
  <base target="_blank" />
  <style>a{color:blue;}</style>
</head>
<body>
  <p>mag:</p><input type="text" id="pos" /><br />
  <input type="button" onclick="move()" value="开始" />请点击按钮<br />
  <div style="position:relative;min-width:600px;min-height:120px;">
    <img id="img" style="position:absolute; left:100px;" src="http://hovertree.com/themes/hvtimages/hlogo.png" />
  </div>
  <div><a href="http://hovertree.com/h/bjaf/62ak7aig.htm">查看代码</a> <a href="http://hovertree.com">返回首页</a> <a href="http://hovertree.com/texiao/">更多特效</a></div>
  <script>
    var hovertreeStep, hovertreeTurn = true;
    function move() {
      var mag = parseInt(document.getElementById("img").style.left);
      document.getElementById("pos").value = mag;
      
      if (hovertreeTurn) {
        hovertreeStep = 1; hovertreeTurn = false;
      }
      if ( mag > 200) {
        hovertreeStep = -1;
      }
      if (mag < 1)
      {
        hovertreeStep = 1;
      }

      document.getElementById("img").style.left = (mag + hovertreeStep) + "px";
      window.setTimeout("move()", 50);
    }
  </script>
</body>
</html>

以上即为本文的全部内容,希望这些内容能对您的学习或工作有所帮助,同时也欢迎继续支持本站!

作者最新文章