Перезагрузите анимированный Gif кэш каждый раз при наведении jQuery - PullRequest
1 голос
/ 12 декабря 2011

Отличается от: Перезапускает анимированный GIF из JavaScript без перезагрузки изображения

У меня есть простой анимированный значок GIF, который играет один раз (не повторяет цикл)

У меня это внутри DIV. Когда пользователь наводит курсор мыши на DIV, я хочу играть в GIF. Когда они выходят, DIV выключается. Когда я вернусь назад, я хочу, чтобы они снова играли в GIF - могу ли я использовать принудительный кеш на jQuery:

HTML:

<div class="datebox magicbox_1" id="date_1">
  <img id="magicimage_1" class="magicimg" src="assets/img/dates/gifpicture.gif" alt=""/>
</div>

JQuery:

    $("#date_1").hover(function () {
        $("#magicimage_1").show();
    }, function () {
        $("#magicimage_1").hide();
    });

// thought about these
/*
var myImg = new Image();
myImg.src = "image.gif?rnd=" + Math.random();
img src="filename.gif?rand=<#?=rand(1,1000);?>" alt=""
*/ 

1 Ответ

2 голосов
/ 12 декабря 2011

Я обновил старый код, чтобы показать сброс изображений.Он должен быть быстрым, поскольку он уже кэширован.

http://jsfiddle.net/gYmvN/4/

Таким образом, новый код будет:

$("#date_1").hover(function () {
    //$("#magicimage_1").show();
    $("#magicimage_1").show().attr('src', 'assets/img/dates/1_randomhash-aefgh.gif?rnd=' +Math.random()+'');
}, function () {
    //$("#magicimage_1").hide();
    $("#magicimage_1").hide().attr('src', '');
});

Как я хочу удалить SRC при наведении.. так что играет полностью

...