我正在尝试找出一种方法,在显示另一个 div 时使用 jQuery 自动隐藏一个 div。有没有办法做到这一点?
我对 jQuery 很陌生,并且仍在学习,但我想它会是这样的:
<script>
(function () {
if ($('.infobox-favourites').is(":visible")) {
$(".infobox-more").fadeOut(500);
}
});
</script>
我正在尝试找出一种方法,在显示另一个 div 时使用 jQuery 自动隐藏一个 div。有没有办法做到这一点?
我对 jQuery 很陌生,并且仍在学习,但我想它会是这样的:
<script>
(function () {
if ($('.infobox-favourites').is(":visible")) {
$(".infobox-more").fadeOut(500);
}
});
</script>
检查这个 JsBin 示例http://jsbin.com/oreyeg/1/edit
使用此代码
setInterval(function() {
var div1 = $('.infobox-favourites').css("display");
if (div1 != 'none') {
$(".infobox-more").fadeOut(500);
}
},200);
使用 setInterval 在每 200 毫秒后执行代码以检查更改。如果您希望它只执行一次,您可以将其删除。
不知道问题出在哪里。我想问题出在 :visible 上,使用 :hidden 也必须有效,但在示例中,我使用 CSS 方法获取 display 属性的值并且它有效。
注意:我尝试在没有 setInterval 的情况下运行代码,但它没有用 :( 但 setTimeout 有助于执行脚本
setTimeout(function() {
//$(".div2").hide();
var div1 = $('.div1').css("display");
if (div1 != 'none') {
$(".div2").fadeOut(500);
}
else {
$(".div1").fadeIn(500);
}
},0);