Javascript “为什么我会收到错误信息?”;Can';找不到变量:$(this)“;?

Javascript “为什么我会收到错误信息?”;Can';找不到变量:$(this)“;?,javascript,jquery,jquery-animate,Javascript,Jquery,Jquery Animate,我买了一本关于网页设计的杂志。在这本杂志中,他们有一个如何在“一行代码”中制作jQuery幻灯片的示例。(我似乎与他们的推理一致,任何压缩代码都是一行…) 无论如何 我试图实现他们的示例,但是(在控制台中)出现了一个错误,它找不到变量$(this) HTML代码只包含: <div class="container"> <ul> <li><img src="img/f.png" alt="f"></li>

我买了一本关于网页设计的杂志。在这本杂志中,他们有一个如何在“一行代码”中制作jQuery幻灯片的示例。(我似乎与他们的推理一致,任何压缩代码都是一行…)

无论如何

我试图实现他们的示例,但是(在控制台中)出现了一个错误,它找不到变量$(this)

HTML代码只包含:

<div class="container">
    <ul>
        <li><img src="img/f.png" alt="f"></li>
        <li><img src="img/t.png" alt="t"></li>
        <li><img src="img/moon.png" alt="moon"></li>
    </ul>
</div>
脚本现在应该设置动画,更改
ul
ul中不同元素的不透明度 (适用于第一个元素动画)


如前所述,错误是“找不到变量:$this”。在($this)之前,您没有名为
$this
的变量,您可以使用dom元素引用
this
重新定位元素,如


它应该是
$(“ul li:first”)。在(本)之前

您需要像这样创建当前元素的jQuery对象

$("ul li:first").before($(this));

检查
this

周围的括号,因为$this未定义。试试$(这个)谢谢,这对我有帮助。
$(document).ready(function() {

    var t = setInterval(function(){
        $("ul li:last").animate({
            opacity: 0
        }, 1000, function(){
            $("ul li:first").before($this);
            $(this).css({'opacity': 1})
        });
    },5000);

});
$("ul li:first").before($(this));