一旦你得到了表示窗口的變量,你就能通過各種方法來操縱它。下面介紹一下對窗口的各種操作
在前面的介紹中,我們討論過close()方法:
復制代碼 代碼如下:
win = window.open("http://www.jb51.net/", "js");
win.close();
JavaScript提供了許多方法與屬性,我們可以使用它們來控制窗口。
移動、滾動、改變大小
下面的方法(N4+,IE4+)負責個定窗口的移動、滾動以及大小改變操作:
復制代碼 代碼如下:
// 移動窗口的屏幕位置到指定的偏移x 、y(絕對移動)
window.moveTo(iX, iY)
// 移動窗口的屏幕位置到指定的偏移x 、y(相對移動)
window.moveBy(iX, iY)
// 滾動窗口的屏幕位置到指定的偏移x 、y(絕對滾動)
window.scrollTo(iX, iY)
// 滾動窗口的屏幕位置到指定的偏移x 、y(相對滾動)
window.scrollBy(iX, iY)
// 改變窗口大小到指定的高度與寬度(絕對改變大小)
window.resizeTo(iWidth, iHeight)
// 改變窗口大小到指定的高度與寬度(相對改變大小)
window.resizeBy(iX, iY)
注意,這些方法都屬於window對象,所以它們智能在當前窗口或者其他可以引用的窗口被執行。如果你想動態設置窗口的位置和尺寸,就可以在窗口創建後使用move和resize方法。
//form
注意,控制一個包含其他服務器頁面的窗口是不可能的。
最大化窗口
我們現在來介紹如何制作一個點擊後可最大化窗口的按鈕。
下面看看有關這個按鈕的HTML和JavaScript代碼:
復制代碼 代碼如下:
<SCRIPT LANGUAGE="JavaScript">
<!--
function maximizeWin() {
if (window.screen) {
var aw = screen.availWidth;
var ah = screen.availHeight;
window.moveTo(0, 0);
window.resizeTo(aw, ah);
}
}
// -->
</SCRIPT>
<FORM><INPUT TYPE="button" VALUE="Maximize" onClick="maximizeWin()"></FORM>
注意,resizeTo()方法引用整個窗口的尺寸。 //form
一個懸浮的廣告
在網站上,通過移動廣告窗口,能夠吸引浏覽者的注意力。我們可以通過調用下面的函數來實現讓窗口左右移動的效果:
復制代碼 代碼如下:
function makeAd() {
window.open("adpage.html", "ad", "width=468,innerWidth=468,height=80,innerHeight=80,left=0,top=0");
}
下面是頁面adpage.html的代碼:
復制代碼 代碼如下:
<SCRIPT LANGUAGE="JavaScript">
<!--
function startAd() {
if (window.screen) {
pos = 0;
aw = screen.availWidth;
window.moveTo(pos, 0);
timerID = setInterval("moveAd()", 50);
}
}
function moveAd() {
if (pos <= 0) inc = 5;
// 5 - so it doesn't pass the right edge
// 10 - accounts for the window chrome
if (pos + 468 + 10 + 5 > aw) inc = -5;
pos += inc; a380fa.com
window.moveTo(pos, 0);
}
window.onload = startAd;
// -->
</SCRIPT>
當頁面adpage.html裝載後,函數startAD()被執行。如果用戶的浏覽器支持window.screen對象,窗口才能移動,因為我們需要使用window.screen來計算屏幕的寬度。窗口在屏幕的上邊界滑動,從左上角(pos=0)一直到右上角。
通過內建的setInterval()函數,每隔50毫秒移動廣告窗口5個象素。如果點擊了“stop”按鈕,就將執行下面