2

最初に私の英語についてお詫び申し上げます。これが表示されるtriggerPopをクリックするとポップアップが表示されます。これを右側に表示しようとしていますが、cssが機能しません。私は何を間違っていますか?前もって感謝します。

var monscreen = $(window).width();
var mondoc = $(document).width();

if (mondoc > monscreen) {
    var dif = mondoc - monscreen;
    $("div#Navigation_Popup").css({
        'right': dif + 'px'
    });
}

$(function() {
    $('#triggerPop').bind('click', function(e) {
        $("#Navigation_Popup").slideFadeToggle(function() {});
        return false;
    });

    $.fn.slideFadeToggle = function(easing, callback) {
        return this.animate({
            opacity: 'toggle',
            height: 'toggle'
        }, "fast", easing, callback);
    }
});​
4

3 に答える 3

1

限られた情報から抜け出します。あなたが言及したcss...

このコードをすべて移動します。

var monscreen = $(window).width();
var mondoc = $(document).width();

if (mondoc > monscreen) {
  var dif = mondoc - monscreen;
  $("div#Navigation_Popup").css({
    'right': dif + 'px'
  });
}

の中に

$(function(){
  .
  .
  .
});

現時点ではif (mondoc > monscreen)、ドキュメントの準備が整う前にコード ブロックが実行されています。

于 2012-10-11T13:35:32.640 に答える
0

バインドは非推奨です。代わりに試してください。また、すべてが$(function())ハンドラー内にある必要があると思うので、これを試してください。

$(function() {
    var monscreen = $(window).width();
     var mondoc = $(document).width();

    if (mondoc > monscreen) {
        var dif = mondoc - monscreen;
        $("div#Navigation_Popup").css({
           'right': dif + 'px'
        });
    }
    $('#triggerPop').on('click', function(e) {
        $("#Navigation_Popup").slideFadeToggle(function() {});
        return false;
    });

    $.fn.slideFadeToggle = function(easing, callback) {
        return this.animate({
            opacity: 'toggle',
            height: 'toggle'
        }, "fast", easing, callback);
    }
});
于 2012-10-11T13:40:22.740 に答える
0

jquery がこれらの値をどのように扱うかはわかりませんが、var monscreen = $(window).width(); ではありません。var mondoc = $(document).width(); 文字列を返す?これを確認するアラートはどうですか?

于 2012-10-11T13:36:12.397 に答える