JavaScript onLoad调整大小

时间:2012-07-22 19:44:30

标签: javascript resize onload

我对编程很新,尤其是javascript。我创建了我所关注的网络艺术项目,刷新浏览器并循环浏览一系列图像。我希望浏览器窗口自动调整大小到图像的尺寸612x612像素。我已经尝试了我能想到的一切,我在网上遇到的一切,似乎没有任何东西可以用于我为刷新和图像加载设置的代码。我需要帮助。

我要说的是,我通常反对这些不明确的浏览器调整大小或任何不允许用户自己做出决定的侵入式脚本。但这是一个艺术项目,只会在我自己的网站上作为图库的一部分存在,用户将在点击链接之前提前发出警告,他们的浏览器将调整大小。

我想要的是浏览器在页面加载时调整大小到指定的尺寸,然后通过自动刷新循环显示图像。

所以,任何愿意为此提供帮助的人都会非常感激。我觉得我已经相当远了,这个调整大小是这个难题的最后一点。先感谢您。

您可以在此处看到没有调整大小的粗略项目:http://jasonirla.com/bgchange%202/

和我正在使用的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<meta name="title" content="Background Change" /> 
<meta name="description" content="Background Change" /> 

<title>Everyday Sky</title> 

<script type="text/javascript">

// auto refresh window PT 1
function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}
// no. of images in folder is 43
var totalCount = 43;
// change image on refresh 
function ChangeIt() {
var num =  Math.ceil( Math.random() * totalCount );
document.body.background = 'images/'+num+'.jpeg';
}
</script> 

</head>
<!-- Refresh PT 2 with timer in seconds 5000=5seconds-->
<body onload="JavaScript:timedRefresh(100);">

<script type="text/javascript"> 
ChangeIt();
</script> 
<style type="text/css">


body {
background-repeat: no-repeat;

}


</body> 
</html> 

2 个答案:

答案 0 :(得分:1)

确实如此,您只能通过使用JavaScript创建一个新窗口来设置浏览器窗口的大小,但许多安全设置将阻止弹出窗口。无论如何,我认为做你正在尝试的东西是糟糕的UI设计。如果您真的想要一些现代且功能强大的东西,Lightbox(如上所述)是一个很棒的工具,以及dialog box in the jQuery UI.

答案 1 :(得分:0)

由于这是一个展览,你将选择使用什么浏览器,但大多数新浏览器不允许JavaScript重新调整它们。值得一试。

 <body onload="JavaScript:timedRefresh(100);resizeTo(500,500);self.moveTo(640,10);>
 ....
 </body>

干杯。