2013-04-23 54 views
0

我有一個函數,檢查CSS值是否存在, 問題是我需要函數只有當CSS類存在時, 當前函數運行所有的時間,因爲我使用其他條件(即需要重新做if條件)。jquery如何才能運行一個功能,只有條件爲真

//use for @media only screen and (max-width: 767px) detection  
$(window).resize(function(){ 
    if ($('#mobile-view').css('visibility') === 'hidden') { 
     $("#product-gallery").insertAfter("#product-info"); 
    } 
    else { 
     $("#product-info").insertAfter("#product-gallery"); 
    } 
}); 

回答

1

將其更改爲

if ($('#mobile-view').is(":visible")) { 

    $("#product-info").insertAfter("#product-gallery"); 
} else { 
    $("#product-gallery").insertAfter("#product-info"); 
} 
+0

我想你應該否定你的病情或者反轉兩個街區...... – 2013-04-23 09:16:10

+0

是不是正確的嘗試後,如果產品畫廊或者插入後,產品信息可見插入? – 2013-04-23 09:17:15

+0

看來OP已經發布了反向條件:如果'#mobile-view'不可見,那麼我們插入產品庫... – 2013-04-23 09:18:44

3

您可以使用:hidden僞選擇:

if ($('#mobile-view').is(':hidden')) { 
    $("#product-gallery").insertAfter("#product-info"); 
} else { 
    $("#product-info").insertAfter("#product-gallery"); 
} 

參見:.is():hidden

0

可以使用hasClass

if ($('#mobile-view').hasClass(className)) { 
// put your logic inside this. 
}