【发布时间】:2016-06-29 08:37:15
【问题描述】:
我与Intro.js 合作了一周,发现它不会跳过隐藏元素:
for (var i = 0, elmsLength = allIntroSteps.length; i < elmsLength; i++) {
var currentElement = allIntroSteps[i];
//alert(( jQuery(currentElement).is(':visible') ));
// skip hidden elements
/*if (jQuery(currentElement).is(':visible') == true) {
continue;
}*/
if (currentElement.style.display == 'none') {
continue;
}
var step = parseInt(currentElement.getAttribute('data-step'), 10);
if (step > 0) {
introItems[step - 1] = {
element: currentElement,
intro: currentElement.getAttribute('data-intro'),
step: parseInt(currentElement.getAttribute('data-step'), 10),
tooltipClass: currentElement.getAttribute('data-tooltipClass'),
highlightClass: currentElement.getAttribute('data-highlightClass'),
position: currentElement.getAttribute('data-position') || this._options.tooltipPosition
};
}
}
还是不行。
有人知道真正的问题是什么吗?请帮忙
【问题讨论】:
-
这取决于标记和样式。您应该提供可以重现此问题的测试设置。
-
你需要提供更多代码,你的循环在哪里?
-
@billyonecan 我刚刚更新了请看一下
-
@billyonecan 在他的帖子中所说的至关重要。
continue关键字用于跳过当前迭代但继续循环。 (与break相比,skips 当前迭代,然后 break 退出循环,即停止循环。) -
嘿,Intro.js 的作者来了。我正在为下一个版本修复它。对此感到抱歉。