2016-11-30 70 views
1

我正在使用遠程JavaScripts填充我的網站上的兩個div。jquery div隱藏不能在第一次加載

<div id="flix-inpage"></div> 

<div id="ccs-inline-content"></div> 

我使用下面的代碼來顯示只有一個div,如果內容是可用的兩個div。我加入這個代碼到頁面的底部:

$(document).ready(function(){ 
    setTimeout(function() { 
     if ($("#flix-inpage #inpage_responsive").length > 0) { 
      $("#ccs-inline-content").hide(); 
     } else { 
      $("#ccs-inline-content").show(); 
      return false; 
     } 
    }, 2000); 
}); 

我指定了一個CSS類:

#ccs-inline-content{ 
    display: none; 
} 

如果兩個DIV有相同的內容

我遇到的問題#ccs-inline-content是不是在第一次加載隱藏。如果我重新加載頁面幾次然後#ccs-inline-content - hide()踢否則內容是可見的。

我已經嘗試了不同的瀏覽器,但結果相同。

+0

嘗試刪除setTimeout – Pixelomo

+2

setTimeout只執行一次,在你的情況下2秒後。是否需要比div更長的時間?如果是這樣,你可能要考慮setInterval,它會在一個時間間隔內重複運行該函數。 http://www.w3schools.com/jsref/met_win_settimeout.asp –

+0

它隱藏在我眼前 - 由於CSS不是JQuery(因爲'setTimeout'在2秒後開始運行)。檢查此[Codepen](http://codepen.io/PleaseBugMeNot/pen/QGOmMY) –

回答

0

我測試這段代碼,但是工作很好。只是我在此代碼

$(document).ready(function(){ 
 
    setTimeout(function() { 
 
     if ($("#flix-inpage").text().length <= 0) { 
 
      $("#ccs-inline-content").show(); 
 
     } else { 
 
      $("#ccs-inline-content").hide(); 
 
     } 
 
    }, 2000); 
 
});
#ccs-inline-content{ 
 
display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<div id="flix-inpage">12</div> 
 

 
<div id="ccs-inline-content">ok</div>

0

如果我理解正確添加的.text()函數,你想#flix-inpage顯示,以及#ccs-inline-content被隱藏,除非#flix-inpage是空的。這將做的工作:

$(document).ready(function() { 
    if ($("#flix-inpage").children().length) { 
    $("#ccs-inline-content").hide(); 
    } else { 
    $("#ccs-inline-content").show(); 
    } 
}); 

你需要確保你提到完成其他腳本這個運行之前,所以把這個地方在執行其他兩個後,在<body>標籤的底部。