Javascript 我的滑块在';它是特定于上下文的,但当我试图使它与上下文无关时,它就中断了。什么';我的代码怎么了?

Javascript 我的滑块在';它是特定于上下文的,但当我试图使它与上下文无关时,它就中断了。什么';我的代码怎么了?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,这是我正在处理的jQuery。当我输入正确的id等时,loop()函数工作得非常出色,但是现在我已经将它包装在Slider()函数中,它坏了。我不知道怎么修理它。有什么帮助吗?(jsfiddle) 我知道了!这是密码 $(document).ready(function () { var loop = function (wrapper, kids, fade, delay) { var count = $(wrapper).children().length, sele

这是我正在处理的jQuery。当我输入正确的id等时,
loop()
函数工作得非常出色,但是现在我已经将它包装在
Slider()
函数中,它坏了。我不知道怎么修理它。有什么帮助吗?(jsfiddle)


我知道了!这是密码

$(document).ready(function () {
var loop = function (wrapper, kids, fade, delay) {
    var count = $(wrapper).children().length,
        selector = [];
    $(wrapper).children().fadeOut(0);
    for (var i = 1; i < count + 1; i++) {
        selector[i] = $(wrapper + ' ' + kids + ':nth-child(' + i + ')');
    }
    var z = 1;
    selector[z].each(function () {
        $(this).fadeIn(fade).delay(delay).fadeOut(fade, function () {
            $(this).remove().appendTo(wrapper);
        }); //end callback

    });

};

setInterval(function () {
    loop('#slider', 'li', 2000, 7000);
}, 0);
});
// end ready
$(文档).ready(函数(){
var loop=函数(包装器、子对象、淡入淡出、延迟){
变量计数=$(包装器).children().length,
选择器=[];
$(包装器).children().fadeOut(0);
对于(变量i=1;i

所有HTML都与问题中的相同。

您的小提琴只在第一次迭代中有效。你能修好吗?请修好你的JSFIDLE。它应该被破坏到一定程度。我需要帮助使它工作。
<ul id="slider">
<li> item 1</li>
<li> item 2</li>
<li> item 3</li>
<li> item 4</li>
</ul>
.hidden{
position: absolute;
left: -10000px;
top: -10000px;
} 
.visible{
position: static;
}
$(document).ready(function () {
var loop = function (wrapper, kids, fade, delay) {
    var count = $(wrapper).children().length,
        selector = [];
    $(wrapper).children().fadeOut(0);
    for (var i = 1; i < count + 1; i++) {
        selector[i] = $(wrapper + ' ' + kids + ':nth-child(' + i + ')');
    }
    var z = 1;
    selector[z].each(function () {
        $(this).fadeIn(fade).delay(delay).fadeOut(fade, function () {
            $(this).remove().appendTo(wrapper);
        }); //end callback

    });

};

setInterval(function () {
    loop('#slider', 'li', 2000, 7000);
}, 0);
});
// end ready