我正在创建一个网页,其中包含一个广播流与伴随的专辑艺术。我正在更新相册艺术,每10秒查询一个XML文件,并将xml标记的内容与当前正在显示的图像的src进行比较。
我想出了下面的脚本。我遇到的问题是,如果'albumart‘( xml标记)是空的,我会显示' generic.png’(请参见最后一个if /generic.png),但是每当脚本重复时,这个generic.png就会被重新加载(渐退)。
有什么简单的方法可以阻止图像不断地重新加载和褪色吗?
function checkalbumart() {
jQuery.ajax({
type: "GET",
url: "xml-file.php",
dataType: "xml",
success: function(xml) {
jQuery(xml).find('currenttrack').each(function() {
xmlalbumart = jQuery(this).find('albumart').text();
});
currentalbumart = jQuery('#albumart img').attr('src');
if (xmlalbumart != currentalbumart ) {
if (xmlalbumart) {
jQuery('#albumart').fadeTo( "fast" , 0, function () {
jQuery('#albumart img').attr('src', xmlalbumart);
}).fadeTo( "fast", 1);
} else {
jQuery('#albumart').fadeTo( "fast" , 0, function () {
jQuery('#albumart img').attr('src', './img/generic.png');
}).fadeTo( "fast", 1);
}
}
}
}).always(function() {
setTimeout(updateshow, 10000);
});
}
checkalbumart();发布于 2014-06-01 20:24:48
您需要检查当前白蛋白是否设置为通用映像,请尝试以下代码:
function checkalbumart() {
jQuery.ajax({
type: "GET",
url: "xml-file.php",
dataType: "xml",
success: function(xml) {
jQuery(xml).find('currenttrack').each(function() {
xmlalbumart = jQuery(this).find('albumart').text();
});
currentalbumart = jQuery('#albumart img').attr('src');
if (xmlalbumart != currentalbumart ) {
if (xmlalbumart) {
jQuery('#albumart').fadeTo( "fast" , 0, function () {
jQuery('#albumart img').attr('src', xmlalbumart);
}).fadeTo( "fast", 1);
} else if(currentalbumart != './img/generic.png') {
jQuery('#albumart').fadeTo( "fast" , 0, function () {
jQuery('#albumart img').attr('src', './img/generic.png');
}).fadeTo( "fast", 1);
}
}
}
}).always(function() {
setTimeout(updateshow, 10000);
});
}
checkalbumart();https://stackoverflow.com/questions/23984018
复制相似问题