gpt4 book ai didi

jQuery简单左右动画

转载 作者:行者123 更新时间:2023-12-01 02:48:28 25 4
gpt4 key购买 nike

我希望箭头明显地移动到数字并删除返回时的文本。

http://jsfiddle.net/mplungjan/VZsG4/

<span class="arrow">&rarr;</span>&nbsp;&nbsp;&nbsp;&nbsp;<span id="span0">zhong</span><span id="span2">1</span><span id="span3">guo</span><span id="span4">2</span>
<br />
<input type="button" id="start" value="start" />
<input type="button" id="reset" value="reset" />

var cnt = 0;
var spanLength = $("span").length;
$("#start").click(function() {
var tId = setInterval(
function() {
if (cnt>spanLength-1) clearInterval(tId);
$(".arrow").animate(
{"right": $("#span"+(cnt+1)).position()}, "slow",
function(){
$("#span"+(cnt++)).hide(); // remove word
$("#span"+(cnt++)).hide(); // remove number
$(".arrow").animate({"left":0}); // move back
}
);
},
1000);
});
$("#reset").click(function() {
clearInterval(tId);
$("span").each(function() {
$(this).show();
});
});

最佳答案

您的代码存在一些问题:

  • .arrow 需要带有 position:relative 的 CSS
  • 您需要为箭头设置向左动画,而不是向右
  • 您需要获取 position()left 属性
  • var tId 需要在更广泛的范围内
  • 由于 .arrow 是一个跨度,因此间隔从未被清除
  • 您跳过了导致元素缺失错误的 #span1
  • 重置函数中需要添加cnt = 0

See working fiddle here →

var cnt = 0;
var spanLength = $("span").length;
var tId;
$("#start").click(function() {
tId = setInterval(
function() {
if (cnt>=spanLength-1) {
clearInterval(tId);
} else {
$(".arrow").animate(
{"left": $("#span"+(cnt+1)).position().left}, "slow",
function(){
$("#span"+(cnt++)).hide(); // remove word
$("#span"+(cnt++)).hide(); // remove number
$(".arrow").animate({"left":0}); // move back
}
);
}
},
1000);
});
$("#reset").click(function() {
clearInterval(tId);
cnt = 0;
$("span").each(function() {
$(this).show();
});
});

关于jQuery简单左右动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6086170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com