Javascript jQuery->;检查图元的可见性

Javascript jQuery->;检查图元的可见性,javascript,jquery,Javascript,Jquery,我有一个div元素,它将在许多地方显示/隐藏。 我可以做一个简单的测试吗 $("#divtobetracked").hide(); 或者 又一次行动被触发了? 因为如果元素的if.hide(),则按钮也应隐藏,如果元素将显示,则按钮也应显示 因此,我想我可以编写一个函数,它可以切换并执行我想要的操作,如果我想显示/隐藏元素,我可以调用这个函数 但是,有没有另一种可能,像现场直播的活动 致以最诚挚的问候。您可以使用callback参数来调用.hide(),使用.show()来调用.trigger

我有一个div元素,它将在许多地方显示/隐藏。 我可以做一个简单的测试吗

$("#divtobetracked").hide();
或者

又一次行动被触发了? 因为如果元素的if.hide(),则按钮也应隐藏,如果元素将显示,则按钮也应显示

因此,我想我可以编写一个函数,它可以切换并执行我想要的操作,如果我想显示/隐藏元素,我可以调用这个函数

但是,有没有另一种可能,像现场直播的活动


致以最诚挚的问候。

您可以使用callback参数来调用.hide(),使用.show()来调用.trigger()。见和


希望这有助于阅读此讨论……它将帮助您……

试试这个

if(  $(element).is(":visible") == "true" ){  // do something }
else{
//做点别的事

}

不,那不存在。您可以像前面提到的那样编写函数,也可以像下面这样扩展jquery(另请参见):

然后将旧的
.hide()
调用替换为:

$('#divtobetracked').hideMe();
而且,如果您还包括了“触发器”调用,您现在可以执行以下操作:

$('#divtobetracked').bind('hideMe.hidden', function() {
    // do some specific stuff for this div here, like:
    $('#somebutton').hide();
});
另见:


或者,如果您真正想做的只是同时隐藏一个div和一个按钮,只需给它们相同的类:

<div id='#divtobetracked' class='hide-me'></div>
<button id='#somebutton' class='hide-me'></button>

同一文档中不能有相同
id
的多个元素;如果您这样做了,那么您应该使用
:用
$('.divtobetracked')
代替
$('#divtobetracked')
。另外,你能花点时间澄清一下你的问题和标题吗?我很难理解你想问什么。来自@David Thomas的指导。@Tim的意思不是这个,他(理想情况下)指的是
$('divtobetracked').hide(function(){…}),一种“隐藏”或“css更改”功能。他说的只有一个
div
。但是您是对的,因为这不存在,所以他的最佳选择可能是向div和按钮添加一个类,并执行
$('.toggle elements').hide()
相反。这不是问题的答案:它不会在元素的可见性改变时触发。这不是问题的答案:它不会在元素的可见性改变时触发。它可能不是答案,但我一直在寻找它。它可以判断元素是否可见,当元素不可见或不存在时抛出false。还有其他问题在寻找这样的答案。也许您可以查找它们。这很聪明,但是在这种情况下,将其作为回调函数调用与仅在调用
.hide()
之后调用有什么区别?关键是定义一次隐藏元素时应该发生的事情,而不是每次调用
.hide()
(function( $ ) {

  $.fn.hideMe = function() {
     this.hide();  

     this.each(function() {
         // Do more stuff here.
     });

     // Maybe even:
     this.trigger('hideMe.hidden');
  };
})( jQuery );
$('#divtobetracked').hideMe();
$('#divtobetracked').bind('hideMe.hidden', function() {
    // do some specific stuff for this div here, like:
    $('#somebutton').hide();
});
<div id='#divtobetracked' class='hide-me'></div>
<button id='#somebutton' class='hide-me'></button>
$('.hide-me').hide();