2009-10-20 134 views
1
/*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> 

彈出的作品,它通常會打開,你可以將它拖動到頁面各處,並堅持自己的立場,但是當你靠近它,它向後翻頁到頁面的頂部。我怎樣才能防止這一點?彈出窗口滾動回頂部關閉時

+0

-1這裏有幾乎沒有任何細節 – 2009-10-20 21:28:30

回答

2

想通了;單擊關閉鏈接時忘記返回false,因此重定向到page.php#。

0

在關閉事件中,將窗口的座標保存在變量中。

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

然後,當您打開它將其設置到相同的位置。

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

這裏有一些邏輯缺失,因爲你沒有大量的細節,但這應該是訣竅。

+0

我的不好,忘了添加代碼關閉彈出窗口...無論如何,問題是,當我打開彈出窗口中,向下滾動有點並關閉它(現在在第一篇文章中有所有必要的代碼),它會自動滾動回頁面頂部。再次感謝。 – TheMagician 2009-10-20 22:06:38

0

試試這個

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