我覺得我很接近搞清楚了這一點可見的圖像,但我不在的JavaScript和jQuery精通。我試圖使用的解決方案是imagesLoaded(http://imagesloaded.desandro.com/)。時機的頁面加載器僅使用imagesLoaded
從本質上講,我想大模態內容(隱藏在頁面加載)頁面出現加載更快。換句話說,即使模態圖像在後臺繼續加載,我也希望加載器(帶有微調器的灰色覆蓋圖)清除可見圖像加載時的狀態。
我的策略是建立在HTML一個div並在其中放置每個可視圖像的副本。在我的CSS中,我將這個div設置爲「display:none;」並且可能將其定位在'-9999'上方並離開。所以這個div將加載圖像,但從來沒有畫在屏幕上。
現在,我要觸發「.fadeOut」功能裝載機元素與imagesLoaded,分配給上述股利。這樣,當剩餘的隱藏模式圖像完成加載時,UI將顯示就緒。
我想這是jQuery的如下:
<script>
$('#container').imagesLoaded(function() {
$(".loader").fadeOut("slow");
\t $(".spinner").fadeOut("slow");
\t $(".spinnerwrapper").fadeOut("slow");
});
</script>
.loader {
\t position: fixed;
\t top: 77px;
\t background-color: #000;
\t opacity:0.80;
\t filter:alpha(opacity=80); /* For IE8 and earlier */
\t left: 0px;
\t width: 100%;
\t height: 100%;
\t z-index: 900;
}
\t #container {
\t position: fixed;
\t display:none;
\t left: -9999px;
\t top: -9999px;
}
<!-- page header -->
<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
<script src="https://npmcdn.com/[email protected]/imagesloaded.pkgd.min.js"></script></head>
<div id="spinnerwrapper">
\t \t <div class="spinner"></div>
\t </div>
\t
\t <div class="loader"></div>
<!-- visible page content -->
<div id="container">
\t <img src="images/image_1.jpg">
<img src="images/image_2.jpg">
<img src="images/image_3.jpg">
<!-- etc -->
</div>
</body>
<!-- hidden modal content -->
我幾乎可以肯定我的語法是錯誤的存在。我只是在學習腳本的基礎知識。任何人都可以解決這個問題嗎?或者提供一個解決方案?
收到錯誤消息:遺漏的類型錯誤:$(...)imagesLoaded不是一個函數 – evanonearth
你能解釋爲什麼你用左:-9999px; &top:-9999px; ??在容器ID?另一個問題是爲什麼使用spinnerwrapper,spinner div?你寫腳本的主要問題是錯誤的。您通過CSS設置Container ID display none。但是在裝載機淡出後你不會顯示它。 [https://jsfiddle.net/tjbaezid/tmqsd8uo/] –