我是新来的jQuery和堆栈溢出,所以我会尽量具体,但请耐心与我。我试图从头开始创建一个带有关联链接的文本滑块,使用模数遍历列表并重复。使用JavaScript模数迭代通过文本滑块for循环
这里是我的工作代码:
ul#text { position: relative; margin-bottom: 40px; height: 40px; }
ul#text li { position: absolute; display: none; }
.active { font-weight: bold; }
<ul id="text">
<li id="textBody">Suffering is not a result of physical pain alone. It can be compounded by changes in one's life, and changes in the self. <em>We understand, and we can help.</em></li>
<li id="textFamily">Aggressive assessment of physical symptoms & pain in the body are key to support <em>the best possible quality of life</em>.</li>
<li id="textFunction">Chronic pain & illness may affect your role in your family. We work with you and your family as you confront those changes.</li>
<li id="textPsyche">Chronic pain and illness make even everyday activities challenging. We will help you maintain independence and physical function.</li>
<li id="textSuffering">Changes in the physical body mean changes in the self. We will provide support as you navigate those changes in the psyche.</li>
</ul>
<ul id="vivid_buttons">
<li><a href="#" id="buttonBody">BODY</a></li>
<li><a href="#" id="buttonFamily" class="active">FAMILY</a></li>
<li><a href="#" id="buttonFunction">FUNCTION</a></li>
<li><a href="#" id="buttonPsyche">PSYCHE</a></li>
<li><a href="#" id="buttonSuffering">SUFFERING</a></li>
</ul>
$(document).ready(function() {
function fadeAndMove() {
var nextLi = $("#text > li:nth-child(" + i % 5 + ")");
var nextA = $("#vivid_buttons > li:nth-child(" + i % 5 + ") > a");
nextLi.fadeIn(1000, function() {
$("#vivid_buttons > li > a").removeClass("active");
nextA.addClass("active");
setTimeout(function() {
nextLi.fadeOut(1000);
}, 4000);
});
}
for (i = 1; i < 7; i++) {
fadeAndMove($("#text"));
}
});
在简单的语言,我想在第一个列表一句褪色,并突出显示相应的链接在底部列表上。然后我希望它淡出并移动到下一个项目。我想我可以使用模数(%)和for循环遍历并创建一个无限循环,但是当我把它放在它就像它一次执行所有内容,而不是迭代(淡入和淡出)为每个项目。
我知道这很混乱,但我会很感激我能得到的任何帮助。
P.S.如果我为i设置一个特定的值,基本函数将起作用。当我把for循环放到重复使用的地方时,就会发生这种情况。再次感谢! – Darin 2010-10-08 19:38:02
我假设'fadeAndMove()'实际上需要一个参数'i',对吧? – 2010-10-08 19:55:59