jQuery中的if语句
这是检查div是否隐藏的jQuery语法吗&是否有一个“view”类?如果是的话,那么在.3秒后用类“view”显示下一个隐藏的div 请注意,它目前不起作用,但它会在所有隐藏的div中淡出,而不考虑类jQuery中的if语句,jquery,syntax,if-statement,Jquery,Syntax,If Statement,这是检查div是否隐藏的jQuery语法吗&是否有一个“view”类?如果是的话,那么在.3秒后用类“view”显示下一个隐藏的div 请注意,它目前不起作用,但它会在所有隐藏的div中淡出,而不考虑类 <script type="text/javascript"> $(function() { // Start showing the divs showDiv(); })
<script type="text/javascript">
$(function() {
// Start showing the divs
showDiv();
});
function showDiv() {
// If there are hidden divs left
if($('div:hidden').length.hasClass('view')) {
// Fade the first of them in
$('div:hidden:first').fadeIn();
// And wait one second before fading in the next one
setTimeout(showDiv, 300);
}
}
</script>
$(函数(){
//开始显示div
showDiv();
});
函数showDiv(){
//如果还有隐藏的div
if($('div:hidden').length.hasClass('view')){
//把第一个放进去
$('div:hidden:first').fadeIn();
//等待一秒钟,然后在下一秒消失
设置超时(showDiv,300);
}
}
也许更好的解决方案是
if($('div.view:hidden').length) {
// Fade the first of them in
$('div.view:hidden:first').fadeIn();
// And wait one second before fading in the next one
setTimeout(showDiv, 300);
}
也许更好的解决办法是
if($('div.view:hidden').length) {
// Fade the first of them in
$('div.view:hidden:first').fadeIn();
// And wait one second before fading in the next one
setTimeout(showDiv, 300);
}
我将解释您的代码在做什么(请参阅我的新注释,其中有星星):
编辑(替代解决方案):
此解决方案的优点是,您不必一直在DOM中查找$('div.view:hidden')
。在这里,你得到它一次,安抚神的表现
function showDiv() {
var $hiddenViewDivs = $('div.view:hidden');
var i = 1;
$hiddenViewDivs.each(function(){
(function($target){
setTimeout(function(){$target.fadeIn();}, 300*i);
})($(this));
i++;
});
}
例如:
我将解释您的代码在做什么(请参阅我的新注释,其中有星星):
编辑(替代解决方案):
此解决方案的优点是,您不必一直在DOM中查找$('div.view:hidden')
。在这里,你得到它一次,安抚神的表现
function showDiv() {
var $hiddenViewDivs = $('div.view:hidden');
var i = 1;
$hiddenViewDivs.each(function(){
(function($target){
setTimeout(function(){$target.fadeIn();}, 300*i);
})($(this));
i++;
});
}
例如:
那就$('div.view:hidden')。长度如何?那就$('div.view:hidden')。长度如何
$('div.view:hidden:first').fadeIn(function() {
setTimeout(showDiv, 300);
});
你不需要if。jQuery将为您处理这些问题
你不需要if。jQuery会帮你解决的。如果($('div.view:hidden').length)
,我的复制和粘贴失败了。如果它不继续重新查询,那就更好了:var divs=$('div.view:hidden')
,然后使用不应该是如果($('div.view:hidden').length)
?@philippeleybart,我的复制和粘贴失败了。如果它不继续重新查询,那就更好了:var divs=$('div.view:hidden')
,那么使用你的问题与jQuery选择器有更多的关系,而不是如果Javascript中的语句是隐藏的div,它不是空的,并且有一个'view'类?我能把这些条件结合起来吗?或者我应该使用&&来代替?.length产生一个数字,而hasClass()不是一个数字方法。你的问题更多地与jQuery选择器有关,而不是如果JavaScription中的语句是隐藏的div,它不是空的,并且有一个“view”类?我能把这些条件结合起来吗?或者我应该使用&&来代替?.length生成一个数字,而hasClass()不是一个数字方法。