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,对话框将不再页面滚动(根据我的经验,大多数网站都使用对话框进行此操作)。

大部分是不相关的,但你可以重写这个:

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