2012-05-23 38 views
9

Có cách nào để định vị một cửa sổ được mở bằng jQuery ở góc trên cùng bên phải của màn hình không?Đặt một cửa sổ trên màn hình

Đây là mã tôi có ngay bây giờ:

$(document).ready(function() { 
    $("#dirs a").click(function() { 
     // opens in new window 
     window.open(this.href, "customWindow", "width=960, height=1040"); 
     return false; 
    }); 
}); 

Và tôi muốn nó mở ra ở góc trên bên phải của màn hình, tương tự như cách nó sẽ xuất hiện nếu "chộp" với Windows Aero snap in Vista hoặc cao hơn. Có cách nào để thực hiện điều này không?

Nhân tiện, đây là một trang đơn giản mà tôi chỉ sử dụng và tôi sẽ chỉ sử dụng nó trong Chrome trên màn hình 1920x1080, vì vậy không cần phải có bất kỳ thứ gì lạ mắt để điều chỉnh cho các trình duyệt hoặc màn hình khác nhau kích cỡ.

Trả lời

14

Nếu ông muốn nó phía trên bên phải không ông cần điều này?

window.open(this.href, "customWindow", "width=960, height=1040, top=0, left=960"); 
+0

Ồ, chỉ cần thêm rằng trái = 960 đã sửa nó. Cảm ơn, đó là hoàn hảo :) – JacobTheDev

+1

Xin lỗi, top phải là 0, không phải 40!Đã sửa nó – nmford

+0

+1 cho một oldie nhưng goodie –

1
$("#dirs a").click(function(e) { 
    e.preventDefault(); 
    var popupWidth = 960; 
    var leftPos = screen.width - popupWidth; 

    window.open(this.href, "customWindow", "width=" + popupWidth + ", height=1040, top=0, left=" + leftPos); 
}); 

Đây là example.

1
window.open(this.href, "customWindow", "width=960, height=1040, top=0, left=0"); 

cửa sổ thuộc tính khác:

Property   Default value Description 
width   auto   specifies width of the new window in pixels 
height   auto   height of the window in pixels 
top    auto   specifies window position 
left    auto   specifies window position 
directories  no    should the directories bar be shown? (Links bar) 
location   no    specifies the presence of the location bar 
resizable  no    specifies whether the window can be resized. 
menubar   no    specifies the presence of the menu bar 
toolbar   no    specifies the presence of the toolbar 
scrollbars  no    specifies the presence of the scrollbars 
status   no    specifies the presence of the statusbar 
+0

Cảm ơn để sao chép câu trả lời của tôi – Marko

+0

Không xuất hiện để làm việc, ít nhất là không trong Chrome. EDIT: Hoạt động tốt trong Firefox. Có lẽ tôi sẽ chỉ sử dụng nếu tôi không có được một câu trả lời tốt hơn. – JacobTheDev

+0

@Marko - thật sao ?! - chỉ có một câu trả lời đúng và chúng tôi đăng cùng một lúc –

1

Đây là quyền phù hợp .. Bạn cần tính chiều rộng của màn hình trước tiên.

var leftPos = screen.width - 960; 
window.open(this.href, "customWindow", "width=960, height=1040, top=40, left="+leftPos+"); 
+0

"đây là một trang đơn giản mà chỉ mình tôi sẽ sử dụng, và tôi sẽ chỉ sử dụng nó trong Chrome trên màn hình 1920x1080" – nmford

4

Cửa sổ JavaScript.open chấp nhận nhiều tham số. Để trường hợp cụ thể của bạn, trên và bên trái là đủ.

Xem làm việc Fiddle Example!

Cú pháp

window.open([URL], [Window Name], [Feature List], [Replace]); 

Danh sách Feature

enter image description here

Ví dụ làm việc để phù hợp với nee của bạn ds

<script type="text/javascript"> 
<!-- 
function popup(url) 
{ 
var width = 960; 
var height = 1040; 
var left = screen.width - 960; 
var top = 0; 
var params = 'width='+width+', height='+height; 
params += ', top='+top+', left='+left; 
params += ', directories=no'; 
params += ', location=no'; 
params += ', menubar=no'; 
params += ', resizable=no'; 
params += ', scrollbars=no'; 
params += ', status=no'; 
params += ', toolbar=no'; 
newwin=window.open(url,'customWindow', params); 
if (window.focus) {newwin.focus()} 
return false; 
} 
// --> 
</script> 

<a href="javascript: void(0)" 
    onclick="popup('popup.html')">Top Right popup window</a> 

Lưu ý: này sẽ tính toán độ rộng màn hình để thiết lập các left đúng cách.

Hãy xem xét rằng bạn đang sử dụng một cửa sổ với một chiều cao lớn, thông thường, màn hình lớn hơn cao ...

+0

trên và bên trái dường như không còn hoạt động nữa. – chovy

Các vấn đề liên quan