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)""/>

一重引用符、二重引用符を使用して、引用符をエスケープしようとしましたが、すべて同じ結果が得られます。基本的にjavascriptを忘れているため、swfを印刷された場所に配置するだけです); }, 10000)""/>(忘れないでください、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で2番目の例を見逃した方法がわかりません。ただし、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 exampleのように、コードの大きなブロックを独自の関数に分割します。これにより、メンテナンスがはるかに簡単になるはずです。showStuffこの例では、コードがなく、ダミー関数をコード化するよりも例のためにそれを削除する方が簡単だったという理由だけで、あなたの呼び出しを削除したことに注意してください。

于 2012-08-15T20:33:05.353 に答える