0

ブラウザウィンドウが1200pxより小さい場合は0ですが、1200pxより大きい場合は左に配置しない固定位置のdivがあります。私はこのコードを使用しています

var $window = $(window);
function checkWidth() {
    var windowsize = $window.width();
    document.write(windowsize);
    if (windowsize < 1200) {
        document.getElementById("DBCIbox").style.left = "0";
    } else {50
        document.getElementById("DBCIbox").style.left = "500px";
    }
}
checkWidth();
$(window).resize(checkWidth);

しかし、それは何もしていないようです。私は left=500px を単に JavaScript を動作させるためのテストとして設定しています。

私はいくつかのグーグルを行いましたが、これが機能するはずだと私が言えることから、何が欠けていますか?

左の位置をクリアする方法があれば、それも知りたいです。

4

2 に答える 2

0

@Jnatalzia は正しかったので、いくつか微調整する必要がありました。コメントではコードを投稿できませんでしたが、@Jnatalzia の回答が功を奏しました。

   function checkWidth() {
        var $window = $(window);
        var windowsize = $window.width();
        var position;       
        if (windowsize < 1390) {
            document.getElementById("DBCIbox").style.marginLeft = 0 + "px";
        } else if (windowsize >= 1390) {
            position = windowsize - 1060;
        position = position / 2;
        position = position - 175;
            document.getElementById("DBCIbox").style.marginLeft = position + "px";
        }
    }

    $("document").ready(function(){

       $(window).load(function(){
          checkWidth();
       });

       $(window).resize(function(){
          checkWidth();
       });

    });
于 2013-11-22T22:57:45.793 に答える
0
var $window = $(window);

その行は、そのウィンドウのインスタンスをキャッシュしています。$(window)更新された幅と高さの値を取得するには、このコードを呼び出すたびに再評価する必要があります

以下の更新されたコード

function checkWidth() {
    var $window = $(window);
    var windowsize = $window.width();
    document.write(windowsize);
    if (windowsize < 1200) {
        document.getElementById("DBCIbox").style.left = "0";
    } else {50
        document.getElementById("DBCIbox").style.left = "500px";
    }
}

checkWidth();

$(window).resize(checkWidth);
于 2013-08-09T18:09:53.070 に答える