この 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);