本文介绍如何使用原生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>
以上即为本文的全部内容,希望这些内容能对您的学习或工作有所帮助,同时也欢迎继续支持本站!