function addLoadEvent(func){
var oldonload = window.onload;
if (typeof window.onload != 'function'){
window.onload = func;
}
else {
window.onload = function(){
oldonload();
func();
}
}
}function insertAfter(newElement,targetElement){
var parent = targetElement.parentNode;
if (parent.lastchild == targetElement){
parent.appendChild(newElement);
}else {
parent.insertBefore(newElement,targetElement.nextSibling);
}
}function preparePlaceholder(){
if(!document.createElement) return false;
if(!document.createTextNode) return false;
if(!document.getElementById) return false;
if(!document.getElementById("imagegallery")) return false;
var placeholder = document.createElement("img");
placeholder.setAttribute("id","placeholder");
placeholder.setAttribute("src","images/未标题1.jpg");
placeholder.setAttribute("alt","my image gallery");
var description = document.createElement("p");
description.setAttribute("id","description");
var desctext = document.createTextNode("Choose an image")
description.appendChild(desctext);
var gallery = document.getElementById("imagegallery");
insertAfter(placeholder,gallery);
insertAfter(description,placeholder);
}function prepareGallery(){
if(!document.getElementsByTagName) return false;
if(!document.getElementsById) return false;
if(!document.getElementsById("imagegallery")) return false;
var gallery = document.getElementsById("imagegallery");
var links = gallery.getElementsByTagName("a");
for (var i=0; i<links.length; i++){
links[i].onclick = function(){
return showPic(this);
}
links[i].onkeypress = links[i].onclick;
}
}function showPic(whichpic){
if (!document.getElementById("placeholder")) return true;
var source = whichpic.getAttribute("href");
var placeholder = document.getElementById("placeholder");
placeholder.setAttribute("src",source);
if(!document.getElementById("description")) return false;
if(whichpic.getAttribute("title")){
var text = whichpic.getAttribute("title");
}else{
var text = "";
}
var description = document.getElementById("description");
if (description.firstchild.nodeType == 3){
description.firstChild.nodeValue = text;
}
return false;
}addLoadEvent(preparePlaceholder);
addLoadEvent(prepareGallery);
这段代码问题出在哪里了?图片链接的默认行为还是没被禁用.以下是HTML代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Image Gallery</title>
<link rel="stylesheet" href="J01.css" type="text/css" media="screen" />
<script type="text/javascript" src="script01.js"></script>
</head><body>
<h1>Snapshots</h1>
<ul id="imagegallery">
<li>
<a href="images/i1.jpg" title="日落"><img src="images/i1l.jpg" alt="日落"/></a>
</li>
<li>
<a href="images/i2.jpg" title="秋名山"><img src="images/i2l.jpg" alt="秋名山"/></a>
</li>
<li>
<a href="images/i3.jpg" title="天空"><img src="images/i3l.jpg" alt="天空"/></a>
</li>
<li>
<a href="images/i4.jpg" title="沙滩"><img src="images/i4l.jpg" alt="沙滩"/></a>
</li>
</ul>
</body>
</html>
javascript
var oldonload = window.onload;
if (typeof window.onload != 'function'){
window.onload = func;
}
else {
window.onload = function(){
oldonload();
func();
}
}
}function insertAfter(newElement,targetElement){
var parent = targetElement.parentNode;
if (parent.lastchild == targetElement){
parent.appendChild(newElement);
}else {
parent.insertBefore(newElement,targetElement.nextSibling);
}
}function preparePlaceholder(){
if(!document.createElement) return false;
if(!document.createTextNode) return false;
if(!document.getElementById) return false;
if(!document.getElementById("imagegallery")) return false;
var placeholder = document.createElement("img");
placeholder.setAttribute("id","placeholder");
placeholder.setAttribute("src","images/未标题1.jpg");
placeholder.setAttribute("alt","my image gallery");
var description = document.createElement("p");
description.setAttribute("id","description");
var desctext = document.createTextNode("Choose an image")
description.appendChild(desctext);
var gallery = document.getElementById("imagegallery");
insertAfter(placeholder,gallery);
insertAfter(description,placeholder);
}function prepareGallery(){
if(!document.getElementsByTagName) return false;
if(!document.getElementsById) return false;
if(!document.getElementsById("imagegallery")) return false;
var gallery = document.getElementsById("imagegallery");
var links = gallery.getElementsByTagName("a");
for (var i=0; i<links.length; i++){
links[i].onclick = function(){
return showPic(this);
}
links[i].onkeypress = links[i].onclick;
}
}function showPic(whichpic){
if (!document.getElementById("placeholder")) return true;
var source = whichpic.getAttribute("href");
var placeholder = document.getElementById("placeholder");
placeholder.setAttribute("src",source);
if(!document.getElementById("description")) return false;
if(whichpic.getAttribute("title")){
var text = whichpic.getAttribute("title");
}else{
var text = "";
}
var description = document.getElementById("description");
if (description.firstchild.nodeType == 3){
description.firstChild.nodeValue = text;
}
return false;
}addLoadEvent(preparePlaceholder);
addLoadEvent(prepareGallery);
这段代码问题出在哪里了?图片链接的默认行为还是没被禁用.以下是HTML代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Image Gallery</title>
<link rel="stylesheet" href="J01.css" type="text/css" media="screen" />
<script type="text/javascript" src="script01.js"></script>
</head><body>
<h1>Snapshots</h1>
<ul id="imagegallery">
<li>
<a href="images/i1.jpg" title="日落"><img src="images/i1l.jpg" alt="日落"/></a>
</li>
<li>
<a href="images/i2.jpg" title="秋名山"><img src="images/i2l.jpg" alt="秋名山"/></a>
</li>
<li>
<a href="images/i3.jpg" title="天空"><img src="images/i3l.jpg" alt="天空"/></a>
</li>
<li>
<a href="images/i4.jpg" title="沙滩"><img src="images/i4l.jpg" alt="沙滩"/></a>
</li>
</ul>
</body>
</html>
javascript
解决方案 »
- 日期格式转换
- 这个js文件在ie8上好用 在ie6上怎么全是错呢?我该怎么修改才能让ie6ie8都好用各位大虾帮帮小弟,小弟受教了。
- javascript如何new 一个options对象?就是select的options,不是Option.
- top.location.hash是干什么的
- 如何访问父窗口中元素?
- !!求救!!!!这段代码错在哪拉?????
- Ext.data.Store的reader为啥读不出数据
- 请问下 为什么我这个选项卡中滚动2 的效果为什么不能实现
- 如何消除window关闭时的提示
- 十分头痛!请朋友们帮忙!在线等!
- 界面设计
- 关于WebBrowser.ExecWB分页打印的奇怪问题
1 getElementsByTagName与getElementById
2 showpic函数中的 if (description.firstChild.nodeType == 3){
description.firstChild.nodeValue = text;