这是为了显示对诊断页面的检查。我有一个.append( not_ok ),但当swf文件100%加载时,我想删除not_ok追加,然后添加一个.append(ok)。
function callbackfunk(e){
$(".FlashNotLoaded").css("color", "red").append(not_ok);
var timer = setInterval(function(){
if(e.ref.PercentLoaded() === 100){
$(".FlashLoaded").remove();
$(".FlashLoaded").css("color", "green").append(ok);
}
}, 1000);
}
swfobject.embedSWF("/static/diag/countdown.swf", "flashDiv", "550", "400", "8.0.0", "expressInstall.swf", flashvars, params, attributes, callbackfunk);.append(not_ok)将被删除,但.append(ok)不会替换它。我尝试过.replaceWith(ok),但似乎也不起作用。
发布于 2013-05-30 04:01:20
通常,使用jQuery时,您可以通过将两者留在页面上的同一位置来完成此操作。jQuery(notOkSelector).hide();和jQuery(okSelecter).show();。
Hide使对象变为display:none,而show则相反。
编辑:只要对象已经在DOM中(默认情况下使用display:none;)...
显示notLoaded
$(".FlashLoaded").hide(); // it doesn't hurt to hide an already hidden object.
var notLoaded = $(".FlashNotLoaded");
notLoaded.css( 'color', 'red' );
notLoaded.show();隐藏notLoaded并显示ok
$(".FlashNotLoaded").hide();
var flashLoaded = $(".FlashLoaded");
flashLoaded.show();
flashLoaded.css( 'color', 'green' );包括以上代码的编辑:您的coude可能如下所示...
function callbackfunk(e){
$(".FlashLoaded").hide();
$(".FlashNotLoaded").css("color", "red").show();
var timer = setInterval(function(){
if(e.ref.PercentLoaded() === 100){
$(".FlashNotLoaded").hide();
$(".FlashLoaded").css("color", "green").show();
clearInterval(timer);
}
}, 1000);
}发布于 2013-05-30 04:01:39
这一行
$(".FlashLoaded").remove();从DOM中删除元素,因此下面的代码行不能将任何内容附加到DOM
$(".FlashLoaded").css("color", "green").append(ok);我想您应该删除ok。
发布于 2013-05-30 04:18:38
您是否要添加新的HTML标记?如果是这样,您可以使用jQuery replaceWiht(),它会用新元素替换现有元素。
https://stackoverflow.com/questions/16822781
复制相似问题