我正在使用動畫圖形顯示信息的網站上工作。所有的圖表都是GIF動畫。對於動畫圖有一個點,並且經常圖形具有多個部分。所以主要的功能是能夠點擊圖表,讓它播放一次,再次點擊圖表,然後第二部分播放,等等,直到它到達最後部分並再次播放。建議交換GIF動畫而不讓它們凍結?
問題是有時圖形會凍結或不加載。他們只能在每次點擊時播放一次。通常情況下圖形會切換到下一個圖形,但它會被凍結而無法讓它播放。
我試圖在加載新圖之前加載一個空白src,它似乎停止凍結GIF,但導致並在新圖形加載之前導致破碎的圖像閃現。
這是我使用的交換圖形代碼...
$('.rightPostContent img').click(function(){
imgSrc = $(this).attr('src');
if(imgSrc.indexOf('_B.png') != -1){
imgSrcToUse = imgSrc.replace('_B.png','_pt1.gif');
$(this).attr('src',imgSrcToUse);
return false;
}
if(imgSrc.indexOf('_pt1.gif') != -1){
var POS2 = imgSrc.replace('_pt1.gif','_pt2.gif');
var $that = $(this);
$.ajax({
url:POS2,
type:'HEAD',
error: function()
{
var imgSrcToUse = imgSrc.replace('_pt1.gif','_pt1.gif');
$that.attr('src','');
$that.attr('src',imgSrcToUse);
return false;
},
success: function()
{
$that.attr('src','');
$that.attr('src',POS2);
return false;
}
});
}
if(imgSrc.indexOf('_pt2.gif') != -1){
var POS3 = imgSrc.replace('_pt2.gif','_pt3.gif');
var $that = $(this);
$.ajax({
url:POS3,
type:'HEAD',
error: function()
{
var imgSrcToUse = imgSrc.replace('_pt2.gif','_pt1.gif');
$that.attr('src',imgSrcToUse);
return false;
},
success: function()
{
$that.attr('src','');
$that.attr('src',POS3);
return false;
}
});
}
if(imgSrc.indexOf('_pt3.gif')!=-1){
imgSrcToUse = imgSrc.replace('_pt3.gif','_pt1.gif');
$(this).attr('src','');
$(this).attr('src',imgSrcToUse);
return false;
}
});
你可以在http://schoolhousebalk.com/justin-upton/
在行動中看到該網站的任何提示,將不勝感激。
我試過這一個第一個圖,它仍然凍結... – patricko 2013-02-18 16:08:50