JavaScript(jQuery)for循环问题
|
大家好,我是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>\");});
}
}
这是我现在正在使用的,并且无法正常工作。我做得对吗?
@吉利3
$(\"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\">
没有找到相关结果
已邀请:
2 个回复
糕泰灌
我也想说不要使用marquee标签,因为它已被弃用,而改用jQuery插件,但是我看到的最后一个jQuery marquee插件实际上在后端使用了
。所以...
视蕉梁拌客