0

画面上の位置に固定されたダイアログボックスがあります。そのすべてがうまく機能していますが、サイズを変更すると(サイズを変更する必要があります)、固定位置が壊れ、ブラウザのスクローラーをスクロールすると一緒に移動します。コードは次のとおりです。

var layerNode= document.createElement('div');
    layerNode.setAttribute('id','dialog');
    layerNode.setAttribute('title','Basic dialog');
var pNode= document.createElement('p');

    console.log("msg var: "+massage); 
    pNode.innerHTML  = massage;

layerNode.appendChild(pNode);
document.body.appendChild(layerNode);

jQuery("#dialog").dialog({
    autoOpen: true, 
    draggable: true,
    resizable: true,
    height: 'auto',
    width: 500,
    modal: false,
    open: function(event, ui) {
        $(event.target).parent().css('position', 'fixed');
        $(event.target).parent().css('top', '5px');
        $(event.target).parent().css('left', '10px');
    }

});


jq162 = jQuery.noConflict(true);
  (function($) {
    $(document).ready(function() {
      $("#dialog").dialog();
    });
  })(jq162);
4

1 に答える 1

0

position: fixed使用する代わりに、ダイアログはページと共にスクロールposition: absoluteなくなります (私の経験では、ほとんどの Web サイトはダイアログでこれを行います)。

ほとんど関係ありませんが、次のように書き換えることができます。

$(event.target).parent().css({'position': 'absolute', 'top': '5px', 'left', '10px'});
于 2012-12-05T08:36:14.270 に答える