我正在建立一個響應網站。但在手機上,加載需要花費很多時間。我認爲這是因爲JavaScript。在慢速手機上,執行JavaScript可能是一個問題。因此,如果我隱藏將由JavaScript處理的一些元素(display: none
),那麼這些元素的所有腳本是否將以正常或其他方式執行?
也許這是一個糟糕的問題,但有人請解釋在這種情況下JavaScript的工作原理。在HTML元素CSS顯示後javascript運行:沒有執行?
0
A
回答
3
是的,除非您使用的是:visible
選擇器,否則jQuery仍然會在DOM中找到使用display:none
樣式的元素。
2
JavaScript仍然可以看到這些元素。
有一個很多東西可以傷害在手機上的表現,並有很多事情可以做,以幫助它更好(淺CSS選擇器,事件代表團,離DOM操作,重組JS模塊化,懶惰加載到一個頁面,.png優化圖像,串聯和壓縮的JS/CSS,對象池用於內存管理)...
很多東西擠出更多的性能的手機......
但是「display:none」不會阻止JS看到或使用這些元素,並且如果你正在做很多查詢選擇器的東西:
$(「#my-div .my-span」)。each(「...」);
它會保持正確的做法。
2
在HTML元素上設置爲none的顯示不會阻止JavaScript被執行。否則,使用JavaScript顯示和/或隱藏元素會很麻煩。
爲了加快您的網站,有一些可以使用的技術。很多都取決於你的情況。聽起來您可能會從後期加載JavaScript中受益,即將其移動到身體標記的底部。這樣做可以讓您的頁面在加載所有JavaScript之前進行渲染。
Google的PageSpeed可能會幫助您指導其他方式來改善您的網頁加載時間。
相關問題
- 1. HTML,CSS,Javascript:阻止在非顯示元素中執行javascript
- 2. HTML,CSS,Javascript - 隱藏/顯示元素
- 3. CSS:顯示顯示:內顯示塊元素:行內元素
- 4. 運行時元素顯示
- 5. 在關注元素後執行javascript
- 6. JavaScript DIV元素背後的HTML顯示
- 7. 運行後JFrame沒有顯示出來
- 8. 運行循環後沒有顯示ACF
- 9. Heroku,Play Framework 2.0運行,但javascript或CSS沒有顯示
- 10. 一些CSS元素沒有顯示
- 11. .show()沒有顯示HTML元素
- 12. 有沒有辦法在執行JavaScript時回顯每一行JavaScript?
- 13. IE8第一次執行後沒有運行javascript
- 14. css動畫執行沒有javascript的onclick
- 15. 如何在顯示某個元素後運行jQuery功能
- 16. Jankuri ng-gallery沒有錯誤執行後沒有任何顯示
- 17. 沒有html的javascript執行測試
- 18. Javascript沒有執行?
- 19. 掃描一個元素類的所有HTML,然後在該類上運行JavaScript?
- 20. CSS/JavaScript:如何統計元素的顯示行數?
- 21. 有沒有辦法顯示/隱藏沒有CSS的元素?
- 22. 圖像沒有在運行時顯示
- 23. 顯示元素,完成任務後,執行此操作嗎?
- 24. JavaScript運行後解析HTML
- 25. HTML/CSS顯示/隱藏多個元素?
- 26. 很好的HTML/CSS顯示元素
- 27. JavaScript承諾沒有執行然後
- 28. 如何在顯示ProgressBar時執行方法,然後在顯示Form後執行?
- 29. 如何在2行(每個都有兩個元素)顯示4個HTML元素?
- 30. 沒有結果被顯示在執行查詢後
這本來很容易測試。 – meagar