[英]jQuery -> check the visibility of an element
我有一個div元素,將在很多地方顯示/隱藏。 如果我這樣做有可能嗎?
$("#divtobetracked").hide();
或者a
$("#divtobetracked").show();
另一個動作被解雇了? 因為如果元素的.hide(),也應隱藏按鈕,並且如果元素將被顯示,則還應顯示一個按鈕。
所以,我想我可以編寫一個切換和執行我想要的功能的函數,如果我想顯示/隱藏元素,我會調用該函數。
但是,還有另一種可能嗎,某事。 喜歡.live()事件?
最好的祝福。
閱讀這個討論...它會幫助你......
檢查元素的可見性
並嘗試這個...
if( $(element).is(":visible") == "true" ){ // do something }
else{ // do something else<br> }
不,那不存在。 您可以編寫一個函數,就像您提到的那樣,或者您可以像這樣擴展jquery(另請參閱http://docs.jquery.com/Plugins/Authoring ):
(function( $ ) {
$.fn.hideMe = function() {
this.hide();
this.each(function() {
// Do more stuff here.
});
// Maybe even:
this.trigger('hideMe.hidden');
};
})( jQuery );
然后用舊的.hide()
調用替換:
$('#divtobetracked').hideMe();
而且,如果您還包含“觸發”調用,您現在可以執行以下操作:
$('#divtobetracked').bind('hideMe.hidden', function() {
// do some specific stuff for this div here, like:
$('#somebutton').hide();
});
另見: http : //api.jquery.com/trigger/ 。
或者,如果你真正想做的就是同時隱藏一個div和一個按鈕,只需給它們相同的類:
<div id='#divtobetracked' class='hide-me'></div>
<button id='#somebutton' class='hide-me'></button>
接着
$('.hide-me').hide();
您可以使用.hide()和.show()的回調參數來調用.trigger()。 請參閱http://api.jquery.com/hide/和http://api.jquery.com/trigger/ 。
$($('#divtobetracked').bind('hideandshow', function() {
alert('divtobetracked was hidden or shown');
});
$("#divtobetracked").hide(function () {
$("#divtobetracked").trigger('hideandshow');
});
$("#divtobetracked").toggle();
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.