Код на jQuery не работает

241
15 июня 2018, 09:40

В html неправильный путь к картинке.Суть в том, чтобы поменять атрибут alt через 3 секунды после загрузки.Но таймер не работает куда бы я его не вставлял

$('img').ready(function(){
      $("img").delay(3000).attr('alt','Картинка загружена');
    });
`<img src="https://i.pinimg.com/236x/96/ed/20/96ed206c3206f0cfb9a3abae7660873.jpg" alt="Картинка не загружена">`
Answer 1

В jQuery .delay() влияет только на анимацию или .queue(). Как вариант можно добавить смену атрибута внутрь queue.

$('img').ready(function() { 
  $("img").delay(3000).queue(function(next) { 
    $(this).attr('alt', 'Картинка загружена'); 
    next(); 
  }) 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<img src="https://i.pinimg.com/236x/96/ed/20/96ed206c3206f0cfb9a3abae7660873.jpg" alt="Картинка не загружена">

Answer 2

Используйте setTimeout() если хотите просто вызвать действие через определённое время:

$(document).ready(function () { 
	$('img').ready(function () { 
		setTimeout(function () { 
			$("img").attr('alt', 'Картинка загружена'); 
		}, 3000) 
	}); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
<img src="https://i.pinimg.com/236x/96/ed/20/96ed206c3206f0cfb9a3abae7660873.jpg" alt="Картинка не загружена">

READ ALSO
Сделать запрс к серверу в jQuery select2

Сделать запрс к серверу в jQuery select2

Я хотел бы узнать, как отправляются запросы к серверу используя jQuery, select2 и ajax, а также как полученный ответ помещается в выпадающий список...

191
Отобразить ошибку при валидации формы

Отобразить ошибку при валидации формы

код который делает блок с ошибками

181
Как определить ориентацию экрана Unity?

Как определить ориентацию экрана Unity?

Есть два Canvas с разными видами расширениями кнопок "Portrait" и "Landscape" нужно определить в какой ориентации девайс и включить соответствующее меню

195