0

これを行う必要があるのは、私が取り組んでいる Web サイトがまったく同じテンプレートを使用して、複数のページの動的コンテンツを表示するためです。すべてのページは、コンテンツを同じ方法で表示するため (ヘッダー コンテンツを除く)、まったく同じ div id を複製します。ヘッダー コンテンツは短くなりますが、div ID はソース コード内に残ります。

ブログのインデックス ページには 1 つの背景画像を表示する必要があり、ウェブサイトの他のすべてのページには別の背景画像が表示されます。

助けてくれてありがとう。

4

3 に答える 3

1

このコードスニペットは、必要なことを実行します。

if (window.location.href.indexOf('somepart_of_the_url') != -1) {
    //Change background to some div
    $('#somediv').css('backgroundImage','url(images/mybackgroundimage.jpg)');
    //Change background to page body
    $("document.body").css('backgroundImage','url(images/mybackgroundimage.jpg)');
}
于 2012-09-15T00:32:57.097 に答える
1

テンプレートやリクエストパスに基づいて、bodyクラスに名前を付けることがよくあります。それらはすべて同じテンプレートを使用するとおっしゃっていましたが、そのテンプレートはパラメータを取り、パラメータの1つは次のようになります。

body_class

また、サイトにデータを入力してテンプレートをレンダリングするコントローラー/動的なものはすべて、/にいるときに「ホーム」に渡す必要があります。以前の経験では、/ blog / category / postが次のようなボディクラスを持つように、他のものも渡します。

<body class="post two-column-a">

次に、セレクターは次のようになります。

body { ... }
body.home { ... }
于 2012-09-15T00:36:39.850 に答える
0

これは機能します:

<script language="javascript">
$(document).ready(function() {
if (window.location.href.indexOf('INDEX_URL') != -1) {
//Change background
$('#DIV_ID').css({'background-image': 'url(http://URL.com/images/BG.jpg)', 'background-repeat': 'repeat-x', 'background-position': 'center top', 'width': '100%!important', 'min-height': '400px'});
}
});
</script>

ただし、このコードの欠点は、/folder/ などの "INDEX_URL" にディレクトリを挿入すると、/folder/ の後のすべてのページがその背景を持つことです。

于 2012-09-15T17:34:39.080 に答える