我有以下coffeescript,除了这样的事实,即当图像需要一段时间加载它运行之前运行图像,然后没有所需的效果:
ready = ->
jQuery ->
$('.box').find('img').each ->
imgClass = if @width / @height > 1 then 'wide' else 'tall'
$(this).addClass imgClass
return
return
$(document).ready(ready)
$(document).on('page:load', ready)
Run Code Online (Sandbox Code Playgroud)
如何在加载整个窗口后才能运行我的功能?
到目前为止我的最佳尝试看起来像
window.onload = ->
$('.box').find('img').each ->
imgClass = if @width / @height > 1 then 'wide' else 'tall'
$(this).addClass imgClass
return
return
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我也尝试了其他几种可能性,但我无法弄清楚什么是错的.
我的问题与此不同,因为我不想等到所有的咖啡因都已完成加载,我想等到我的网页中的所有图片都已加载.
要在加载load()完所有图像后执行所需的代码,请在窗口上使用jQuery的方法。document观看DOM,同时window观看内容。
在咖啡中,它看起来像这样:
$(window).load ->
alert 'All images are loaded'
Run Code Online (Sandbox Code Playgroud)
window.onload我建议的是,这与您所使用的之间的区别$(window).load()。
| 归档时间: |
|
| 查看次数: |
5943 次 |
| 最近记录: |