【发布时间】:2011-04-18 23:26:40
【问题描述】:
大家好,我是 JavaScript 新手,我正在为此使用 jQuery 库。 基本上我正在尝试创建这条线的倍数,并且我正在使用 ":eq(0) 来做到这一点。 问题是 :eq(0) 在代码中重复了 3 次,而我每次重复时都在执行的循环具有不同的数字。
我认为这就是我从中得到的(:eq(0),:eq(1),:eq(2),:eq(3)等。) 我需要它来做到这一点(:eq(0),:eq(0),:eq(0),:eq(1):eq(1):eq(1)等......)
for (i = 0; i < 6; ++i) {
var $titleMarquee = '<marquee scrollamount="5" direction="left" width="233" align="left" behavior="alternate" loop="1"><span>';
var $lieq = "li:eq("+i+")";
$("ul.side-block-content "+$lieq+"").mouseenter(function() {
$("ul.side-block-content "+$lieq+" .article-title a span")
.replaceWith($titleMarquee+$("ul.side-block-content "+$lieq+" .article-title a").text()+"</span></marquee>");
});
}
如果有人可以让我知道如何正确执行此循环,或者如何重新创建代码以执行相同的操作,那就太好了。
提前致谢。
@尼克的回答:
var $titleMarquee = '<marquee scrollamount="5" direction="left" width="233" align="left" behavior="alternate" loop="1"><span>';
for (i = 0; i < 6; ++i) {
for (j = 0; j < 7; ++j) {
$("ul.side-block-content li:eq("+i+")").mouseenter(function(){$("ul.side-block-content li:eq("+i+") .article-title a span").replaceWith($titleMarquee+$("ul.side-block-content li:eq("+i+") .article-title a").text()+"</span></marquee>");});
$("ul.side-block-content li:eq("+i+")").mouseleave(function(){$("ul.side-block-content li:eq("+i+") .article-title a marquee").replaceWith('<span>'+$("ul.side-block-content li:eq("+i+") .article-title a").text()+"</span>");});
}
}
这是我现在正在使用的,但它不起作用。我做得对吗?
@Gilly3
$("ul.side-block-content li marquee").each(function() {
this.stop(); // prevent the marquee from scrolling initially
}).mouseenter(function() {
this.start(); // start the scroll onmouseenter
});
<marquee scrollamount="5" direction="left" width="233" align="left" behavior="alternate">
【问题讨论】:
-
marquee在blink的第一个孩子之外已被弃用。 -
@alex:嘘。我们正试图让
blink标签平静地消亡。 -
marquee 不在 HTML 中,它是基于浏览器的代码。但这与问题无关。
-
@user Here。 :)
-
你不是已经ask this question了吗?
标签: javascript jquery for-loop