我有一个循环,它只适用于我的最后一个元素。它适用于每个元素。
for (var z=1; z<$('.page').length;z++){
$('#arrowUp_'+z).click(function(){
$('#thumbsContainer_'+z).animate({top: '-='+93+'px'}, {duration: 1000});
cont++;
arrowThumbs();
});
$('#arrowDown_'+z).click(function(){
$('#thumbsContainer_'+z).animate({top: '+='+93+'px'}, {duration: 1000});
cont--;
arrowThumbs();
});
}
如果我将z替换为一个数字,我可以使其适用于该情况。但是我不想在N次重复同样的过程。所以我认为为...制作一个循环是个好主意
任何人都可以解释如何做到这一点? 感谢
答案 0 :(得分:0)
为什么使用ID?为什么你不能像这样在每个元素上添加一个类
<div id="arrowUp_1" class="arrowUp">
</div>
$('.arrowUp').click(function(){...});
[你应该知道的事情]
' - ='+ 93 +'px'它没有意义你可以' - = 93px'仍然是相同的东西,因为它将被视为一个字符串而不是一个数字,就像说var h3ll0;
不是一个字符串:)
你没有把{duration:1000}只放1000,因为它本身就是一个属性,并且需要一个[毫秒不是json对象的数字] ......
<强>更新强> 检查此代码...
============================================== < / p>
<强> CSS:强>
span {background: red;position: absolute; left: 0;}
<强> JS 强>
$(function() {
$('div').click(function() {
$('p').append($(this).text());
//alert('text');
var i = $(this).index($('ul div'));
console.log($(this));
$('ul span').eq(i).animate({
left: '50%'
}, 1000);
});
});
HTML
<p>Test...</p>
<hr />
<ul>
<div>Click 1</div>
<div>Click 2</div>
<div id="b">Click 3</div>
<div>Click 4</div>
</ul>
<br /><br /><br /><br />
<ul>
<span>Im thumb 1</span>
<span>Im thumb 2</span>
<span>Im thumb 3</span>
<span>Im thumb 4</span>
</ul>
这是元素选择的一个不好的例子:)但它更好的解决方案:)我应该想:)