0

おそらくタイトルは意味をなさないので、私の問題を詳しく説明します。

www.mysite.com があり、 div の背景画像があるとしましょう 、 onclick() 、 div は背景画像を変更します。すべてがうまく機能しています。myblog などのサブフォルダーがあると、問題が発生します。www.example/myblog/post1.php のようになります。post1 では、同じ背景を持つ同じ div を取得しましたが、リンクが存在しない img をターゲットにしているため、onclick は機能しません。

最初のケースでは、jquery は大丈夫です: www.mysite.com/assets/img/picture.jpg (これは実際の場所です)

2 番目のケースでは、jquery が次のリンクを追加しています: www.mysite.com/ myblog /assets/img/picture.jpg コードは単純です。オンクリックする

$('#div').css("background-image", "url("assets/img/picture.jpg")"); 

そのため、 ../assets/img/picture.jpg を追加すると機能しますが、ルート ディレクトリでは機能しません。

url+assets/img/picture.jpg を使用してみましたが、 www.mysite.com/www.mysite.com/...etc を取得します(はい、URLは正しいです)。

だから私の質問は、この問題にどのように対処するのですか? ヘッダーやフッターなどのインクルードについても同様です。ルートに「インクルード」フォルダーがある場合、 /blog/post1.php にいるとリンクできません。ずっと悩んでいるので、何かヒントをいただければと思います。

違いがあれば、私は codeigniter で作業しています....

ありがとう !!

4

2 に答える 2

0

私は通常$domain、PHP で次のような変数を設定しますhttp://www.example.com/(末尾のスラッシュに注意してください)。次に、echoこれを次のように Javascript 変数に渡します。

<script>
var domain = '<?php echo $domain; ?>';
</script>

この変数は Javascript でも利用できます。私はそれを次のように使うかもしれません:

<script>
$('#div').css("background-image", "url('" +domain + "assets/img/picture.jpg')");
</script>

変更が必要な場合$domainは、便利な Javascript に変更が反映されます。

于 2013-11-01T10:33:47.727 に答える