2014-01-22 55 views
-1

我發現不同的替代品在這裏切換jQuery的1.9,但我不明白它的工作在這裏即時通訊我的情況:置換.toggle(jQuery的1.9

$('.thumb.flip').toggle(
function() { 
$(this).find('.thumb-wrapper').addClass('flipStop'); 
}, 
function() { 
$(this).find('.thumb-wrapper').removeClass('flipStop flipIt'); 
} 
); 
+0

如果您想要相同的代碼工作看看遷移項目,否則使用替代像http://stackoverflow.com/questions/14382857/what-to-use-instead-of-toggle-in-jquery-1-8/ 14383246#14383246 –

+0

http://api.jquery.com/toggleClass你的代碼似乎是h是一個邏輯問題,還是缺少什​​麼...「flipIt」有什麼意義?你從來沒有添加它,所以爲什麼它會在那裏呢? –

回答

0

你可以給.flip數據屬性

<div class="thumb flip" data-clicked="0"> 

$('.thumb.flip').click(function() { 
    var data = $(this).data('clicked'), $descendant=$(this).find('.thumb-wrapper'); 
    if (data) { 
     $descendant.removeClass('flipStop flipIt'); 
    } else { 
     $descendant.addClass('flipStop'); 
    } 
    data == 0 ? $(this).data('clicked', 1) : $(this).data('clicked', 0); 
}); 

或者你可以用ELSEIF

$('.thumb.flip').click(function() { 
    if ($(this).find('.thumb-wrapper').hasClass('flipstop')) { 
     $(this).find('.thumb-wrapper').removeClass('flipStop flipIt'); 
    } else { 
     $(this).find('.thumb-wrapper').addClass('flipStop'); 
    } 
}); 
0

您可以使用「點擊」事件然後檢查使用「:可見」(如果該元素是可見的時刻):

  • 如果元素是可見的 - 通過添加類像你的代碼,或只是將其隱藏:〜.hide()

  • 如果元素不是可見 - 添加/刪除類或使用:〜.show()