【问题标题】:Pop-up window scrolls back to the top when closed弹出窗口关闭时回滚到顶部
【发布时间】:2009-10-20 21:10:12
【问题描述】:
/*CSS */  
#popup { background-color: #fff; border: 1px #000 solid; display: block; position: fixed; padding: 20px; top: 200px; left: 50%; margin-left: -300px; width: 600px; z-index: 1; }

/* JQuery */
$('#show-popup').live('click', function() 
    {
        var tempWindow = $('<div id="popup">This is a draggable pop-up window created with JQuery and JQuery UI <a href="#" id="popup-close">Close</a></div>').draggable();
        $('body').append(tempWindow);
    });

$('#popup-close').live('click', function()
{
    $(this).parent().remove();
});

/* HTML */
<a href="#" id="show-popup">Open popup window</a>

弹窗可以正常打开,您可以在页面周围拖动它并固定在其位置,但是当您关闭它时,它会滚动回页面顶部。我怎样才能防止这种情况发生?

【问题讨论】:

  • -1 这里几乎没有任何细节

标签: jquery html popup window


【解决方案1】:

想通了;单击关闭链接时忘记返回false,因此它重定向到page.php#。

【讨论】:

    【解决方案2】:

    在关闭事件时,将窗口的坐标保存在一个变量中。

    var coords = $('#popup').position();
    

    然后当你打开它时将它设置到相同的位置。

    $('<div id="popup">...</div>').css({position: 'absolute', top: coords.top, left: coords.left});
    

    这里缺少一些逻辑,因为您没有大量细节,但这应该可以解决问题。

    【讨论】:

    • 我的错,忘了添加关闭弹出窗口的代码......无论如何,问题是当我打开弹出窗口时,向下滚动一点并关闭它(现在所有必要的代码都在第一篇文章)它会自动滚动回页面顶部。再次感谢。
    【解决方案3】:

    试试这个

    $('html, body').animate({ scrollTop: 0 }, 'slow');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多