0

問題が発生しています。画面の解像度に基づいて別の画像を読み込もうとしていますが、以下にリストされているコードを試してみましたが、背景が読み込まれません。言われたときにcssとjqueryのセットアップがあり、背景が表示されません。どこが間違っているのかわかりませんか?

@media (min-width:800px) { .w800 { background-image: url(images/DCBG800.png);                      @media (min-width:1024px) { .w1024 { background-image: url(images/DCBG1024.png);
@media (min-width:1152px) { .w1152 { background-image: url(images/DCBG1152.png);
@media (min-width:1280px) { .w1280 { background-image: url(images/DCBG1280.png);
@media (min-width:1360px) { .w1360 { background-image: url(images/DCBG1360.png);
@media (min-width:1366px) { .w1366 { background-image: url(images/DCBG1366.png);
@media (min-width:1600px) { .w1600 { background-image: url(images/DCBG1600.png);
}

   <script type="text/javascript">
   function setImageClass() {
switch(true) {
    case($(window).width()>1600): $("body").removeClass("w800 w1024 w1152 w1280 w1360 w1366").addClass("w1600");
    break;
    case($(window).width()>1366): $("body").removeClass("w800 w1024 w1152 w1280 w1360 w1600").addClass("w1366");
    break;
    case($(window).width()>1360): $("body").removeClass("w800 w1024 w1152 w1280 w1366 w1600").addClass("w1360");
    break;
    case($(window).width()>1280): $("body").removeClass("w800 w1024 w1152 w1360 w1366 w1600").addClass("w1280");
    break;
    case($(window).width()>1152): $("body").removeClass("w800 w1024 w1280 w1360 w1366 w1600").addClass("w1152");
    break;
    case($(window).width()>1024): $("body").removeClass("w800 w1152 w1280 w1360 w1366 w1600").addClass("w600");
    break;
    default: $("body").removeClass("w1024 w1152 w1280 w1360 w1366 w1600").addClass("w800");
    break;
}
   }

    $(document).ready(function() {
setImageClass();
    });

    $(window).resize(function() {
setImageClass();
    });
4

1 に答える 1

1

CSS の例では、中括弧を閉じていません。さらに、"body" のすべてのクラス (つまり、現時点では javascript も) を取り除き、background-image css ルールを "body" 要素セレクターに直接適用してみてください。次のようにします。

@media (min-width:800px) { 
   body {
       background-image: url(images/DCBG800.png); 
   }
}

これが役に立てば幸いです。

ルクス

于 2012-05-21T21:57:07.800 に答える