0

所以我从某人那里得到了这个功能,它的作用是在等待 10 秒后用 swf 或其他 html 代码替换我的图像,就是这样。

<input name="sample_check3" id="sample_check3" value="1" type="radio" onclick="showStuff('stage');setTimeout(function() {$('#stage').html('HTML CODE HERE'); }, 10000)""/>

如果我只是在其中放一个简单的 html 段落或标题,它会成功地用它替换图像,但是当我尝试将我的 swf 代码放在那里时,它认为 swf 嵌入代码是 HTML,基本上只是“回声”它马上就在它所在的地方,而不是等待。这就是我用它代替的。

    <input name="sample_check3" id="sample_check3" value="1" type="radio" onclick="showStuff('stage');setTimeout(function() {$('#stage').html('<OBJECT style="z-index:2; position:absolute; top:20%; left:44%;" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="320" HEIGHT="240" id="rice" ALIGN="">
<PARAM NAME=movie VALUE="rice.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#333399> <EMBED src="rice.swf" quality=high bgcolor=#333399 WIDTH="320" HEIGHT="240" NAME="rice" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED> </OBJECT>'); }, 10000)""/>

我尝试过使用单引号、双引号、转义引号,这一切都会产生 sam 结果。它只是将 swf 放在它); }, 10000)""/>之后打印出来的位置,因为它基本上忘记了它的 javascript(不会忘记,我只是不知道如何解释它 xD) 无论如何,我希望有人可以帮助我,谢谢。

4

2 回答 2

1

最后你有一个额外"的:

<input name="sample_check3" id="sample_check3" value="1" type="radio" 
    onclick="showStuff('stage'); 
    setTimeout(function() {$('#stage').html('HTML CODE HERE'); }, 10000)"" /> <---

如果这不是问题,我们可能需要查看 html 中的设置.html()

编辑:我不知道我昨天怎么错过了你的第二个例子。但是,在查看您的 html 时,我强烈建议您不要将 javascript 内联。您可以利用 jQuery 的强大功能,并可以像这样设置您的点击处理程序:

HTML

<input name="sample_check3" id="sample_check3" value="1" type="radio" />

Javascript

$('#sample_check3').on('click', function() {
    showStuff('stage');
    setTimeout(function() {
        $('#stage').html('<OBJECT style="z-index:2; position:absolute; top:20%; left:44%;" 
            classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  
            codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" 
            WIDTH="320" HEIGHT="240" id="rice">
            <PARAM NAME=movie VALUE="rice.swf"> 
            <PARAM NAME=quality VALUE=high>
            <PARAM NAME=bgcolor VALUE=#333399> 
            <EMBED src="rice.swf" quality=high bgcolor=#333399 WIDTH="320" HEIGHT="240" 
                NAME="rice" TYPE="application/x-shockwave-flash" 
                PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
            </EMBED>
        </OBJECT>');
    }, 10000) ;
});
于 2012-08-15T20:24:07.717 回答
0

我会像这个jsFiddle 示例那样将那一大块代码分成它自己的函数。这应该使维护更容易。请注意,在示例中,我删除了您的调用,showStuff只是因为我没有代码,并且更容易删除它作为示例而不是编写一个虚拟函数。

于 2012-08-15T20:33:05.353 回答