3

url属性に動的クエリ文字列を渡すことは可能ですか? たとえばurl( ./SOME_IMAGE_GENERATOR?image=1 );、どこがimage違うのですか?

この属性を JS 経由で設定する必要があります。

$( "#elem" )[ 0 ].style.background = "url( ./renders/circuit.php?circuit=" + dirY + dirX + "&dims=1|1 )";

のリンクはurl、画像を生成して返すファイルへのポイントです。画像は正しく生成されますが、背景として適用されません。

明確化

入れたい画像がまだありません。ページによって生成されて返されcircuits.php、引数に依存します。

画像があれば、背景がうまく変わります。srcタグの属性を変更するのとは異なりimg、引数はブラウザによるリクエストを作成し、ヘッダーと情報を送受信しますが、そうでbackgroundはないことに気付きました。

ジェネレーターにリクエストを送信してcircuit.php、サーバーに画像を保存させてから、 でsetTimeout背景を変更することを考えましたが、生成の特定の時間に依存することはできません。

それが問題だ。さて、これを追い越す方法はありますか?

4

3 に答える 3

3

実例

Jsfiddleと、自分のWebサイトにある画像生成スクリプトを使用してシナリオを複製しました。

ご覧のとおり、生成された画像を使用して背景を動的に変更することは確かに可能です:http: //jsfiddle.net/DigitalBiscuits/Eh8yY/6/

コードのデバッグ

だから....あなたの何が問題になっていますか?まず、FirefoxまたはChromeを使用している場合は、開発者ツールを使用して何が起こっているかを確認します。コンソールにJavascriptエラーが表示されていないことを確認してください。

次に、JavaScriptが実際に要素を選択していること、および背景を変更できること(静止画像など)を確認することをお勧めします。問題を引き起こしているコードを分離し、上記でリンクしたJSfiddleのように、新しい空のページでテストします。

ちなみに、あなたのjavascriptコードは私には少し異質に見えます。

それ以外の:

$( "#elem" )[ 0 ].style.background = ...

使用してみてください:

document.getElementById('myImg').style.background = ...

最後に、画像を生成するphpスクリプトで正しいヘッダーを設定していること、およびヘッダーが設定される前に出力が行われていないことを確認してください。

于 2012-05-20T16:56:51.813 に答える
2

jQueryを使用していますか?これは非常に簡単に行うことができます。

生成された画像の URL を変数に格納し、jQuery を使用して CSS 背景画像の値を次のように変更します。

var imageUrl = "./renders/circuit.php?circuit=" + dirY + dirX + "&dims=1|1";
$('#myDiv').css('background-image', 'url(' + imageUrl + ')');

これは、概念を示す jsfiddle です。をクリックして、divJS によって動的に変更された背景画像を確認します。 http://jsfiddle.net/DigitalBiscuits/F3PUy/2/

于 2012-05-18T18:07:07.933 に答える
1

はい、CSS を使用して、その場で画像を背景画像として設定できます。

imgこれは、要素にオンザフライ画像を使用する方法と同じです。

于 2012-05-18T16:18:38.467 に答える