我正在建立一个响应网站。但在手机上,加载需要花费很多时间。我认为这是因为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