2015-12-27 34 views
0

我有一個簡短的reveal.js演示文稿託管在GitHub頁面here如何等待頁面加載befor Reveal.js開始

我想在自動啓動演示文稿之前等待頁面完全加載。如果連接速度很慢,awesomefonts不能及時呈現,用戶只能看到一個空白塊。

開始之前是否可以等待一段時間?

+1

可能出現[頁面完全加載時執行Javascript]的副本(http://stackoverflow.com/questions/1033398/execute-javascript-when-page-has-fully-loaded) – mariocatch

回答

0

好的,所以在瀏覽你的代碼一分鐘後,我發現你在初始化Reveal.js之前可能需要在腳本中加載一個onload塊。嘗試把

Reveal.initialize({ 
     controls: false, 
     progress: true, 
     history: true, 
     center: true, 
     autoSlide: 2200, 
     transition: 'slide', // none/fade/slide/convex/concave/zoom 
     // Optional reveal.js plugins 
     dependencies: [ 
     { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } }, 
     { src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector('[data-markdown]'); } }, 
     { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector('[data-markdown]'); } }, 
     { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }, 
     { src: 'plugin/zoom-js/zoom.js', async: true } 
     ] 
     }); 

的內幕:

object.onload=function(){myScript}; 

希望這有助於。演示文稿看起來很棒btw。

+0

我嘗試過,但它仍然在awesomefonts準備好之前加載。 – Angelo

+0

嗯...所以它出現AwesomeFonts異步加載。你能把我和你正在使用的API聯繫起來嗎? –

+0

哪個API?我通過https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css – Angelo

0

把你的初始化代碼裏面​​window.onload()功能

,如果你需要多事情需要asyncronously加載,只需創建一個myLoad()功能和objToBeLoaded計數器,那麼每一個OBJ加載時間,使其調用somethingHasLoad()功能,將檢查該計數器並最終致電myLoad()