关闭时,弹出窗口会滚动回顶部

时间:2009-10-20 21:10:13

标签: jquery html popup window

/*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>

弹出窗口正常打开,你可以在页面上拖动它并且它会粘在它的位置,但当你关闭它时,它会滚动回到页面顶部。我该如何防止这种情况?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

然后当你打开它时,将它设置到同一位置。

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

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

答案 2 :(得分:0)

试试这个

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