gpt4 book ai didi

javascript:全 Angular 居中动画 slider

转载 作者:行者123 更新时间:2023-11-28 09:07:26 27 4
gpt4 key购买 nike

我正在尝试使用 javascript 制作一个按钮控制的 slider 。我有一个全 Angular div,带有大背景图像。我希望背景图像在点击时左右移动。到目前为止,我已经成功做到了这一点,问题是让它停在正确的位置。

我使用 setTimeout 控制动画,使用 % 而不是 px,因为我希望背景图像以 50% 居中开始。现在我需要它向左或向右移动 1000px,具体取决于我单击的按钮。我还需要防止按钮在每次点击时增加动画的速度。

据我了解,这可以使用clearTimeout 来完成。我还没有找到写这篇文章的好方法,所以我正在寻求帮助或朝着正确的方向插入。谢谢。

代码如下:

index.html

<!doctype html>  
<html>
<head>
<link rel="stylesheet" type="text/css" href="reset.css"/>
<link rel="stylesheet" type="text/css" href="demo.css"/>
</head>
<body>
<div id="top">
<div id="top_center"></div>
</div>
<div id="header">
<div id="button_container">
<div id="button_left">
<a href="#" class="links"> < <a/>
</div>
<div id="button_right">
<a href="#" class="links"> > <a/>
</div>
</div>
</div>
<div id="bottom">
<div id="bottom_center"></div>
</div>
<script type="text/javascript" src="slider.js"></script>
</body>
</html>

slider .js

var slider = {

init: function(){

var header = document.getElementById("header");
header.style.backgroundPosition = "50%";
var timeout;

var button_left = document.getElementById("button_left");
var button_right = document.getElementById("button_right");

button_left.onclick = function(){

header.style.backgroundPosition = parseInt(header.style.backgroundPosition) + 1 + '%';
timeout = setTimeout(button_left.onclick, 20);
}

button_right.onclick = function(){

header.style.backgroundPosition = parseInt(header.style.backgroundPosition) - 1 + "%";
timeout = setTimeout(button_right.onclick, 20);
}
}
}
window.onload = slider.init;

嗯,我按照 John Fisher 的建议使用 jQuery 解决了这个小问题。我用过这个tutorial作者:哈利·芬。我必须对他的代码和 CSS 进行一些修改,但结果却是我想要的。

最佳答案

如果您正在制作动画,为什么不使用 JQuery 或其他为您处理自动化的 JavaScript 库之一。他们处理许多小细节,您自己管理这些细节非常耗时。

关于javascript:全 Angular 居中动画 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16824127/

27 4 0
文章推荐: javascript - windows 8 javascript 应用程序打印片段不打印
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com