- 论坛徽章:
- 0
|
刚开始学javascript,有个onload的问题问下。
先贴下代码
网页:gallery.html
<html>
<head>
<title>Image Gallery</title>
</head>
<script type="text/javascript" src="scripts/showPic.js"></script>
<link rel="stylesheet" href="styles/layout.css" type="text/css" media="screen" />
<body>
<h1>Snapshots</h1>
<ul id="imagegallery">
<li>
<a href="images/cannon.jpg" title="cannon">Cannon</a>
</li>
<li>
<a href="images/yao.jpg" title="yao">Yao</a>
</li>
<li>
<a href="images/v2.jpg" title="v2">V2</a>
</li>
</ul>
<img id="placeholder" src="images/placeholder.jpg" alt="my image gallery" />
<p id="description">Choose an image.</p>
</body>
</html>
js:showPic.js
function prepareGallery()
{
var gallery = document.getElementById("imagegallery");
alert(gallery);
var link = gallery.getElementsByTagName("a");
for (var i=0; i>link.length; i++)
{
link.onclick = function(){return showPic(this)};
alert(link);
}
}
function showPic(whichpic)
{
var source = whichpic.getAttribute("href");
var placeholder = document.getElementById("placeholder");
placeholder.setAttribute("src", source);
var text = whichpic.getAttribute("title");
var description = document.getElementById("description");
description.firstChild.nodeValue = text;
return false;
}
window.onload = prepareGallery();
我的问题是这样:
prepareGallery()应该是在网页加载后执行的吧?为什么prepareGallery中的alert(gallery)输出的是null呢?应该是个object才对啊?
哪位大侠给指点下吧! |
|