我无法弄清楚出了什么问题,请帮助。
传入新的Num,控制台日志显示它正在为activeSlide找到正确的元素
var activeSlide = $("#ep"+newNum);
for (var i=0; i< allSlides.length; i++){
var slidegrab = $("#ep"+i);
console.log(slidegrab == activeSlide)
if (slidegrab == activeSlide){
console.log("stop loop and stop shuffle");
return;
} else {
slidegrab.appendTo('#slideshow');
}
}
我的控制台将显示slidegrab和activeSlide变量的正确名称。条件将为每个循环显示false,永远不会为true。我错过了什么?
谢谢!
答案 0 :(得分:3)
它们是两个不同的jQuery对象。您需要比较DOM元素。
slidegrab[0] === activeSlide[0]
或者您可能希望按索引跟踪当前幻灯片,而不是按元素跟踪。这更常见。
答案 1 :(得分:3)
您可以比较ID而不是包装器:
var activeSlide = $("#ep"+newNum);
for (var i=0; i< allSlides.length; i++){
var slidegrab = $("#ep"+i);
if (newNum== i){
console.log("stop loop and stop shuffle");
return;
} else {
slidegrab.appendTo('#slideshow');
}
}