2012-03-15 7 views
4

私はずっとこれをグーグルで見つけてきました!いくつかのメニューホバーとマウスアウトに画像を表示する必要があります。コードはjsファイルに書かれています。しかし、画像パスを生成する必要があります。 JSファイル内の画像のパスを生成するために使用されるFOSJsRoutingBundleことができ、このSymfony 2:javascriptファイルで画像パスを生成するには?

{{資産(「バンドル/ mybundle /画像/ menu_down.png」)}}

のようなものを使用した画像のパスを生成する方法はありますか?

答えて

6

同意するニック答え、彼は{{アセット(...)}}の周りに "引用符"を忘れてしまった。

だから、それは次のように記述する必要があります:あなたはwindow.menuDownUrlが仕事をしたい場合は

var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}"; 

と出力しないあなた"undefined"

+0

私はそれを考え出した。とにかくありがとう! – VishwaKumar

13

あなたはあなたの実際のページ上のグローバルJS変数を設定できます。グローバル変数を呼び出すためにあなたのjavascriptファイル内の設定

<script> 
    var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}"; 
</script> 

そして:window.menuDownUrl

を次に、あなたのjavascriptファイル内の依存関係を作成しますが、そのイメージを動的に設定することができます。

+0

のようにそれを使用することができ、私は小枝機能ではJavaScriptファイルで認識されていないと思います。私はこのエラーを受け取ります:Uncaught SyntaxError:予期しないトークン{ – VishwaKumar

+0

実際にうまくいきました。私は、私の小枝テンプレートのスクリプトブロックにコードを入れなければなりませんでした。ありがとうございました!! – VishwaKumar

8

あなたは隠された入力を入れて、画像のパスを設定することができます。

<input type="hidden" id="img_path" value="{{ asset('images/circle_loading.gif') }}"> 

その後のjQueryであなたはこの

var img = "<img src=\'"+ $("#img_path").val() +"\'>"; 
$("div").html(img); 
関連する問題