2

私はこれが本当に簡単だと思っていましたが、代わりに朝を失いました!

var insert = '<div class="main_content_half_panel_circle" id="circle_' + c + '"></div><script type="text/javascript">$("#circle_' + c + '").live("click", function(){ $(".main_content_half_panel_info_wrap").animate("left", ' + c_x + ', 400, "easeOutQuint") });</script>';

firebug では、「終了していない文字列リテラル」を取得し続けます。たとえば、さまざまな構文で 100 のバリエーションを試しました。

'$(".main_content_half_panel_info_wrap").animate({"left": ' + c_x + '}, 400, "easeOutQuint") });</script>'

...文字列を最初から再構築し、エスケープ文字や変数を含まないストレート コード ブロックとして再構築し、' + c + ' などを再挿入しました。何もありません。コードブラインドになりましたか?

どんな助けでも大歓迎です!

ページは次のとおりです。

http://www.helicopterfir.com/dev

スコット

4

1 に答える 1

7

スクリプト ブロック内に文字列がある場合</script>、ブラウザはスクリプト ブロックがそこで終了すると見なします。script タグは、その中のコードの前に単純に解析されるため、その段階ではブラウザはそれが文字列の中にあることを知りません。

終了タグの途中で文字列を分割します。

...</scr' + 'ipt>...
于 2012-06-10T11:15:39.070 に答える