2011-11-10 20 views
0

我有一个jQuery覆盖覆盖div。它工作得很好,除了当我扩展和缩小窗口时,叠加层不会展开和收缩。一旦我刷新页面,它将展开和收缩,但它不会动态地进行。我在那里有一些我希望能解决问题的代码。不幸的是,它没有。这是我目前所拥有的...Jquery加载覆盖扩展和窗口合同

function DemoSearchInternals() 
{ 
    debugger; 
    var form = $("#DemoGraphID"); 
    $div = $("#thatTable"); 
    //$loading = $('<img src="<%=Url.Content("~/images/ajax-loader.gif")%>" alt="loading" class="ui-loading-icon" style="display:none" id="img-load">'); 
    //$div.append($loading); 
    var srlzdform = form.serialize(); 
    var PopID = <% =PopID %>; 
    var options = []; 
    var $url = $("#target").attr("action"); 
    $('<div id="overlay">').css({ 
     position: 'absolute', 
     opacity: 0.2, 
     top : $div.offset().top, 
     left : $div.offset().left, 
     width : $div.outerWidth(), 
     height : $div.outerHeight(), 
     background: 'blue url(<%=Url.Content("~/images/ajax-loader.gif")%>) no-repeat center' 
    }).hide().appendTo('body'); 
    $(window).resize(function(){ 
    //$div = $("#thatTable"); 
    $('<div id="overlay">').css({ 
      top: $div.offset().top, 
      left: $div.offset().left, 
      width: $div.outerWidth(), 
      height: $div.outerHeight() 
     }).appendTo('body'); 
    }); 

    //$('div#TabView1').html('<div id="overlay"><img src="<%=Url.Content("~/images/ajax-loader.gif")%>" alt="loading" class="ui-loading-icon"></div>'); 
    //div.append('<img src="<%=Url.Content("~/images/ajax-loader.gif")%>" alt="loading" class="ui-loading-icon">'); 
    //$loading.show(); 

    $("#overlay").fadeIn(); 
    $.post('<%:Url.Action("SearchByDemographic", "PatientACO")%>', srlzdform, function (data) 
    { 
     DisplayDemographicSearch(data); 
     $("#overlay").fadeOut(); 
    }); 
} 

我会继续细读互联网寻找建议。感谢您的帮助。

回答

1

它可能会减慢一些事情,即如果你将它应用到很多元素上,但是当我需要根据窗口大小调整大小时使用$(window).resize事件,并且它可能会成为一个头疼的事情。

例:

function setSize() { 
    //Your code and everything affecting the resize depending on window width goes here 
    //Exemple : 
    $("#mydiv").width($(window).width); 
} 

$(window).resize(function() { 
    setSize(); 
}); 
1

设置底部和右侧,而不是在CSS中的宽度和高度(如果设计允许)。这将使窗口与边缘保持适当的距离,不管你有什么样的设计。

如果您希望它不会小于某个尺寸,请确保在元素上放置最小高度和最小宽度。

+0

试过了,它似乎没有工作。 – SoftwareSavant