我正试图想办法在另一个div显示时自动使用jQuery隐藏一个div。有没有办法做到这一点?
我是jQuery的新手,我还在学习,但我想它会是这样的:
<script>
(function () {
if ($('.infobox-favourites').is(":visible")) {
$(".infobox-more").fadeOut(500);
}
});
</script>
答案 0 :(得分:0)
检查此JsBin示例http://jsbin.com/oreyeg/1/edit
使用此代码
setInterval(function() {
var div1 = $('.infobox-favourites').css("display");
if (div1 != 'none') {
$(".infobox-more").fadeOut(500);
}
},200);
使用setInterval在每200ms后执行代码以检查更改。如果您只想执行一次,可以将其删除。
不确定问题是什么。我猜问题是:可见,使用:隐藏也必须工作但在示例中我使用CSS方法获取显示属性的值并且它有效。
注意:我试图在没有setInterval的情况下运行代码并且它没有工作:(但是setTimeout有助于执行脚本
setTimeout(function() {
//$(".div2").hide();
var div1 = $('.div1').css("display");
if (div1 != 'none') {
$(".div2").fadeOut(500);
}
else {
$(".div1").fadeIn(500);
}
},0);