Reload Animated Gif cache each jQuery hover

喜夏-厌秋 提交于 2020-01-06 03:40:08

问题


Different to: Restart an animated GIF from JavaScript without reloading the image

I have a simple animated gif icon which plays once (it does not repeat loop)

I have it inside a DIV. When the user mouse the mouse over the DIV I want to play the GIF. When they move out the DIV turns off. When the move back I want them to play the GIF again - can I use a force cache on 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:


I updated the old code to show the images reset. It should be fast since it's already cached.

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

So the new code would be:

$("#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', '');
});

As I want to remove the SRC on hover out.. so it plays fully



来源:https://stackoverflow.com/questions/8474199/reload-animated-gif-cache-each-jquery-hover

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!