У меня есть часть кода, которая зависит от знания ширины изображения на моей странице.Самый быстрый способ запустить javascript после загрузки изображения?
Если я немедленно уволить его (в верхней части $(function(){
иногда не работает, так как изображение еще не загрузилось.
Если я использую JQuery (я уже использую его для других вещей на страница), чтобы открыть огонь по нагрузке(), он никогда не срабатывает. Предположительно потому, что изображение загружается до JS даже выполняет, или потому, что он кэшируется.
$('#photo').load(function(){
alert('loaded');
});
//doesn't fire
Если я делаю следующее, он работает, но после того, как заметная задержка, когда он извлекает изображение во второй раз:
$('#photo').load(function(){
alert('loaded');
});
$('#photo').attr('src',$('#photo').attr('src')+'?'+new Date().getTime());
//fires, but is slow
Наверняка в 2016 году должен быть хороший способ сделать это? Либо в jquery, либо в vanilla JS.
, пожалуйста, предоставьте [mcve] –
что делать, если вы дождались полной загрузки DOM с помощью функции готовности документа? (https://api.jquery.com/ready/) – DTH
Или если вы хотите сделать это, как только изображение загрузится, см. предыдущую публикацию SO (http://stackoverflow.com/questions/3877027/jquery-callback- on-image-load-even-when-the-image-is-cache) – DTH