Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery问题:我如何清理这些代码以使其更有效,或者是否有一种方法来循环这些代码?_Jquery_Loops_Digit - Fatal编程技术网

jQuery问题:我如何清理这些代码以使其更有效,或者是否有一种方法来循环这些代码?

jQuery问题:我如何清理这些代码以使其更有效,或者是否有一种方法来循环这些代码?,jquery,loops,digit,Jquery,Loops,Digit,这是我的代码,它一直重复到:eq(15)。一般来说,我对jQuery和JavaScript都是新手,我怀疑自己做得是否正确。有人能帮我把代码整理成一个循环吗?我基本上需要这个脚本将:eq(0)增加1到15 var $titleMarquee = '<marquee scrollamount="5" direction="left" width="233" align="left" behavior="alternate" loop="1"><span>'; $("ul.

这是我的代码,它一直重复到:eq(15)。一般来说,我对jQuery和JavaScript都是新手,我怀疑自己做得是否正确。有人能帮我把代码整理成一个循环吗?我基本上需要这个脚本将:eq(0)增加1到15

var $titleMarquee = '<marquee scrollamount="5" direction="left" width="233" align="left" behavior="alternate" loop="1"><span>';

$("ul.side-block-content li:eq(0)").mouseenter(function(){$('ul.side-block-content li:eq(0) .article-title a span').replaceWith($titleMarquee+$('ul.side-block-content li:eq(0) .article-title a').text()+'</span></marquee>');});

$("ul.side-block-content li:eq(0)").mouseleave(function(){$('ul.side-block-content li:eq(0) .article-title a marquee').replaceWith('<span>'+$('ul.side-block-content li:eq(0) .article-title a').text()+'</span>');});  

$("ul.side-block-content li:eq(1)").mouseenter(function(){$('ul.side-block-content li:eq(1) .article-title a span').replaceWith($titleMarquee+$('ul.side-block-content li:eq(1) .article-title a').text()+'</span></marquee>');});

$("ul.side-block-content li:eq(1)").mouseleave(function(){$('ul.side-block-content li:eq(1) .article-title a marquee').replaceWith('<span>'+$('ul.side-block-content li:eq(1) .article-title a').text()+'</span>');});  

$("ul.side-block-content li:eq(2)").mouseenter(function(){$('ul.side-block-content li:eq(2) .article-title a span').replaceWith($titleMarquee+$('ul.side-block-content li:eq(2) .article-title a').text()+'</span></marquee>');});

$("ul.side-block-content li:eq(2)").mouseleave(function(){$('ul.side-block-content li:eq(2) .article-title a marquee').replaceWith('<span>'+$('ul.side-block-content li:eq(2) .article-title a').text()+'</span>');});  

$("ul.side-block-content li:eq(3)").mouseenter(function(){$('ul.side-block-content li:eq(3) .article-title a span').replaceWith($titleMarquee+$('ul.side-block-content li:eq(3) .article-title a').text()+'</span></marquee>');});

$("ul.side-block-content li:eq(3)").mouseleave(function(){$('ul.side-block-content li:eq(3) .article-title a marquee').replaceWith('<span>'+$('ul.side-block-content li:eq(3) .article-title a').text()+'</span>');});

$("ul.side-block-content li:eq(4)").mouseenter(function(){$('ul.side-block-content li:eq(4) .article-title a span').replaceWith($titleMarquee+$('ul.side-block-content li:eq(4) .article-title a').text()+'</span></marquee>');});

$("ul.side-block-content li:eq(4)").mouseleave(function(){$('ul.side-block-content li:eq(4) .article-title a marquee').replaceWith('<span>'+$('ul.side-block-content li:eq(4) .article-title a').text()+'</span>');});

$("ul.side-block-content li:eq(5)").mouseenter(function(){$('ul.side-block-content li:eq(5) .article-title a span').replaceWith($titleMarquee+$('ul.side-block-content li:eq(5) .article-title a').text()+'</span></marquee>');});

$("ul.side-block-content li:eq(5)").mouseleave(function(){$('ul.side-block-content li:eq(5) .article-title a marquee').replaceWith('<span>'+$('ul.side-block-content li:eq(5) .article-title a').text()+'</span>');});  
var$titleMarquee='';
$(“ul.side-block-content li:eq(0)”).mouseenter(function(){$('ul.side-block-content li:eq(0).文章标题a span')。替换为($titleMarquee++$('ul.side-block-content li:eq(0).文章标题a')。text()+“”;});
$(“ul.side-block-content li:eq(0)”).mouseleave(function(){$('ul.side-block-content li:eq(0).文章标题a选框')。替换为('+$('ul.side-block-content li:eq(0).文章标题a')。text()+';});
$(“ul.side-block-content li:eq(1)”).mouseenter(function(){$('ul.side-block-content li:eq(1).文章标题a span')。替换为($titleMarquee++$('ul.side-block-content li:eq(1).文章标题a')。text()+“”;});
$(“ul.side-block-content li:eq(1)”).mouseleave(function(){$('ul.side-block-content li:eq(1).文章标题a选框')。替换为('+$('ul.side-block-content li:eq(1).文章标题a')。text()+';});
$(“ul.side-block-content li:eq(2)”).mouseenter(function(){$('ul.side-block-content li:eq(2).文章标题a span')。替换为($titleMarquee++$('ul.side-block-content li:eq(2).文章标题a')。text()+“”;});
$(“ul.side-block-content li:eq(2)”).mouseleave(function(){$('ul.side-block-content li:eq(2).文章标题a选框')。替换为('+$('ul.side-block-content li:eq(2).文章标题a')。text()+';});
$(“ul.side-block-content li:eq(3)”).mouseenter(function(){$('ul.side-block-content li:eq(3).文章标题a span')。替换为($titleMarquee++$('ul.side-block-content li:eq(3).文章标题a')。text()+“”;});
$(“ul.side-block-content li:eq(3)”).mouseleave(function(){$('ul.side-block-content li:eq(3).文章标题a选框')。替换为('+$('ul.side-block-content li:eq(3).文章标题a')。text()+';});
$(“ul.side-block-content li:eq(4)”).mouseenter(function(){$('ul.side-block-content li:eq(4).文章标题a span')。替换为($titleMarquee++$('ul.side-block-content li:eq(4).文章标题a')。text()+“”;});
$(“ul.side-block-content li:eq(4)”).mouseleave(function(){$('ul.side-block-content li:eq(4).文章标题a选框')。替换为('+$('ul.side-block-content li:eq(4).文章标题a')。text()+';});
$(“ul.side-block-content li:eq(5)”).mouseenter(function(){$('ul.side-block-content li:eq(5).文章标题a span')。替换为($titleMarquee++$('ul.side-block-content li:eq(5).文章标题a')。text()+“”;});
$(“ul.side-block-content li:eq(5)”).mouseleave(function(){$(“ul.side-block-content li:eq(5).文章标题a字幕”).replace为(“+$”(“ul.side-block-content li:eq(5).文章标题a”).text()+”;);

提前感谢。

for(i=1;i看起来所有这些语句都对不同的列表项执行相同的操作。假设这是正确的,您可以执行以下操作:

for (i = 1; i <= 15; i++) {
    $("ul.side-block-content li:eq(" + i + ")").mouseenter(function() {
        var $this = $(this);
        $this.filter('.article-title a span').replaceWith(
        $titleMarquee + $this.filter('.article-title a').text() + '</span></marquee>');
    }).mouseleave(function() {
        var $this = $(this)
        $this.filter('.article-title a marquee').replaceWith('<span>' + $this.filter('.article-title a').text() + '</span>');
    });
}
$("ul.side-block-content li").hover(
    function(){
        var link = $(this).find(".article-title a"),
            span = link.find("span");
        span.replacewith($titleMarquee + link.text() + '</span></marquee>');
    },
    function(){
        var link = $(this).find(".article-title a"),
            marquee = link.find("marquee");
        marquee.replaceWith('<span>' + link.text() + '</span>');
    }
);
$(“ul.side-block-content li”)。悬停(
函数(){
var link=$(this.find(“.article title a”),
span=link.find(“span”);
替换为($titleMarquee+link.text()+“”);
},
函数(){
var link=$(this.find(“.article title a”),
marquee=link.find(“marquee”);
marquee.replaceWith(“”+link.text()+“”);
}
);
hover
是将函数连接到
mouseenter
mouseleave
的快捷方式。在每个函数中,
这个
将引用
li
元素本身,因此如果我们将其包装在jQuery对象中,我们可以使用
find
来查找其子体。看起来您主要使用的是链接的内容,因此代码会找到该链接,然后找到
span
(在
mouseenter
)或
marquee
(在
mouseleave
)并将其替换为包含链接文本的
marquee
span

$('ul.side-block-content').delegate('li', 'mouseleave', function() {
    $a = $(this).find('.article-title a');
    $a.filter('span:first').replaceWith($titleMarquee + $a.text()
                                        + '</span></marquee>');
});
$('ul.side block content')。委托('li','mouseleave',函数(){
$a=$(this.find('.article title a');
$a.filter('span:first').replaceWith($titleMarquee+$a.text())
+ '');
});

你能提供一些HTML来使用吗?
先生,你真是个魔鬼。我很久以前就认为有人不赞成使用它了。@Krule:我认为
字幕
从来没有出现在任何实际的规范中。它没有出现在HTML或规范中(显然也没有出现在HTML5中)。真的吗?!所有这些伟大的答案都没有被接受吗?“顺便说一句,过些时候我会把全部代码都发出去"嗯,好的。所以基本上你只是想确定你已经得到了第一个答案?因为你遗漏的是回答这个问题的核心。这真的很快,谢谢!$titleMarquee是这样的:$var$titleMarquee='';我应该用什么东西替换$this吗?或者像写的那样使用它,因为它似乎不起作用。@inuendo:you我真的不想创建一个名为“
$this
”的全局变量,是吗?我让它工作了!谢谢所有回答我问题的人。@t.J.Crowder:我通常都会创建$this变量。但是,是的,在这个例子中,最好像你在回答中那样创建变量