Вертикальная анимация спрайта
Добрый день! Нашел на старом битриксе код который при событии hover листает бг блока. БГ из себя представляет вертикальный спрайт из 16 кадров. У каждого кадра свое css правило позиционирования бг. Если я конечно все правильно понимаю.
$("#tick").hover(function () {
var on=0;
var i=1;
if($("#tick").hasClass("tsl_1"))
t=setInterval( function()
{
if(on==0)
{
$("#tick").removeClass("tsl_"+i);
if(i==16) { on=1; $("#tick").addClass("tsl_1"); clearInterval(t);}
else{
i++;
$("#tick").addClass("tsl_"+i); }
}
}
, 90);
})
</script>
Есть необходимость поменять код чтобы он работал не по событию hover а при загрузке страницы с интервалом. Изучал раздел setInterval и setTimeout, думаю что суть в них, но применить их чтобы код работал, так и не удалось. Если кому не жалко времени - надеюсь на помощь. |
andamurobl,
Попробуйте заменить $("#tick").hover(function () на $(window).load(function () |
Верно! Все заработало. Добавил setIterval к функции и получил интервал в 6 секунд. Рабочий код:
<script type="text/javascript">
$(window).load(
setInterval (function () {
var on=0;
var i=1;
if($("#tick").hasClass("tsl_1"))
t=setInterval( function()
{
if(on==0)
{
$("#tick").removeClass("tsl_"+i);
if(i==16) { on=1; $("#tick").addClass("tsl_1"); clearInterval(t);}
else{
i++;
$("#tick").addClass("tsl_"+i); }
}
}
, 90);
},6000))
</script>
ПС Спасибо Dilettante_Pro за потраченное время. |
| Часовой пояс GMT +3, время: 00:07. |