带有可变变量的for()循环 [英] for() loops with mutable variables
本文介绍了带有可变变量的for()循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
HTML:
<a id="link1" href="#">LINK1</a>
<div id="text1" style="display: none;">text1 div</div>
<a id="link2" href="#">LINK2</a>
<div id="text2" style="display: none;">text2 div</div>
<a id="link3" href="#">LINK3</a>
<div id="text3" style="display: none;">text3 div</div>
JS:
for (var i = 0; i <= 500; i++) {
$('#link' + i).click(function() {
$('#text' + i).toggle('fast');
return false;
});
}
但是它不起作用.想法是使每个#link(number)显示适当的#text(number)块.但是此刻,我的phpstorm说"i"是可变变量....在此先感谢
but it's not working. Idea is to make each #link(number) showing appropriate #text(number) block. But at this momenty my phpstorm says "i" is mutable variable.... Thanks in advance
推荐答案
我认为您可以执行以下操作:
I think you could do the following:
向每个对象添加一个类"targetLink":
Add a class "targetLink" to every :
<a id="link1" class="targetLink" href="#">LINK1</a>
替换针对类本身的for循环:
Replace the for loop targeting the class itself:
$("a.targetLink").toggle(function() {
$(this).next("div").slideDown(350);
}, function() {
$(this).next("div").slideUp(350);
});
提琴: http://jsfiddle.net/VinnyFonseca/yxpCA/
额外的功能,用于在单击另一个项目时关闭以前打开的div.
Extra functionality for closing previously opened div when clicking on another item.
$("a.targetLink").toggle(function() {
$(".open").slideUp(350);
$(this).next("div").slideDown(350).addClass("open");
}, function() {
$(this).next("div").slideUp(350).removeClass("open");
});
这篇关于带有可变变量的for()循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文