javascript dom 编程艺术笔记 第四章:图片库

首先先建立一个html文件,建立一个图片库

<!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=gb2312" />
<title>学习日记</title>
</head>

<body>
<h1>hello picture</h1>
<ul>
    <li>
    <a href="images/guitar.jpg" title="one guitar">guitar</a>
    </li>
    <li>
    <a href="images/back.jpg" title="boy‘back">back</a>
    </li>
    <li>
    <a href="images/hair.jpg" title="girl‘hair">hair</a>
    </li>
    <li>
    <a href="images/beautiful.jpg" title="a beautiful girl">beautiful</a>
    </li>
</ul>
<img id="placeholder" src="images/placeholder.gif" alt="my image gallery" />

</body>
</html>

然后写一个函数,用来更换图片,查看图片时,浏览器默认的默认查看行为是在一个新的窗口打开这张图片,而我们的目的是在一个页面实现对图片的更换,所以我们要取消这种默认行为。

代码更改如下

<!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=gb2312" />
<title>学习日记</title>
</head>

<body>
<h1>hello picture</h1>
<ul>
    <li>
    <a href="images/guitar.jpg" title="one guitar" onclick="showpic(this);return false">guitar</a>
    </li>
    <li>
    <a href="images/back.jpg" title="boy‘back" onclick="showpic(this);return false">back</a>
    </li>
    <li>
    <a href="images/hair.jpg" title="girl‘hair" onclick="showpic(this);return false">hair</a>
    </li>
    <li>
    <a href="images/beautiful.jpg" title="a beautiful girl" onclick="showpic(this);return false">beautiful</a>
    </li>
</ul>
<img id="placeholder" src="images/placeholder.gif" alt="my image gallery" />

<script>
function showpic(whichpic){
    var source=whichpic.getAttribute("href");
    var placeholder=document.getElementById("placeholder");
    placeholder.setAttribute("src",source);
}
</script>
</body>
</html>

这样即实现了查看图片在同一个页面。

界限来介绍几种常用的属性

1.nodeValue属性:它用来得到或者设置一个节点的值

2.childNodes属性:用来获取一个元素的所有子元素

3.nodeType属性:

元素节点的nodeType属性值是1

属性节点的nodeType属性值是2

文本节点的nodeType属性值是3

4.firstChild属性:相当于childNodes[0]

5.lastChild属性:相当于childNodes[chlidNodes.length-1]

接下来我们运用以上属性来获取图片的描述

<!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=gb2312" />
<title>学习日记</title>
<style type="text/css">
body{
    font-family:"Helvetica","Arial",serif;
    color:#333;
    background-color:#ccc;
    margin:1em 10%;
}
h1{
    color:#333;
    background-color:transparent;
}
a{
    color:#c60;
    background-color:transparent;
    font-weight:bold;
    text-decoration:none;
}
ul{
    padding:0;
}
li{
    float:left;
    padding:1em;
    list-style:none;
}
img{
    display:block;
    clear:both;
}
</style>
</head>

<body>
<h1>hello picture</h1>
<ul>
    <li>
    <a href="images/guitar.jpg" title="one guitar" onclick="showpic(this);return false">guitar</a>
    </li>
    <li>
    <a href="images/back.jpg" title="boy‘back" onclick="showpic(this);return false">back</a>
    </li>
    <li>
    <a href="images/hair.jpg" title="girl‘hair" onclick="showpic(this);return false">hair</a>
    </li>
    <li>
    <a href="images/beautiful.jpg" title="a beautiful girl" onclick="showpic(this);return false">beautiful</a>
    </li>
</ul>
<img id="placeholder" src="images/placeholder.gif" alt="my image gallery" />
<p id="discription">选择一张图片</p>

<script>
function showpic(whichpic){
    var source=whichpic.getAttribute("href");
    var placeholder=document.getElementById("placeholder");
    placeholder.setAttribute("src",source);
    var text=whichpic.getAttribute("title");
    var discription=document.getElementById("discription");
    discription.firstChild.nodeValue=text;
}
</script>
</body>
</html>

为其添加样式,并获取到了图片的详细信息。图片的详细信息就是li元素的title属性,p元素的

firstChild值为“选择一张图片”,是一个文本节点。

时间: 2024-10-09 22:14:42

javascript dom 编程艺术笔记 第四章:图片库的相关文章

《Javascript DOM编程艺术》--第六章案例研究图片库改进版

DOM脚本编程有关的问题:平稳退化.向后兼容.分离Javascript. 一. 平稳退化 如果禁用了js后,基本功能可以实现吗? 二. 分离Javascript 1. 添加事件处理函数: a. 检查点:普通适用性检测(检测是否支持DOM方法):针对性检测(检测对象是否存在) 这是预防性措施.即使以后决定从网页上删除某个标记,也不用担心js报错.此时,体现了js与html分离的重要性. 原则:想用js给网页添加行为,就不应该让js代码对这个网页的结构有任何依赖. b. 变量名:保留字和关键字不能用

javascript dom编程艺术笔记之图片库的改进

dom的操作要遵守的原则 1.平稳退化 2.分离javascript 3.向后兼容 4.性能考虑 改进后的显示图片方法 function showpic(whichpic){ if(!document.getElementById("placeholder")) return false; var source=whichpic.getAttribute("href"); var placeholder=document.getElementById("p

《Javascript DOM编程艺术》--第七章动态创建标记

向浏览器里的文档动态添加标记的方法: 一. 传统方法:以下两种都是HTML专有的属性,不能用于其他标记语言文档. 1. document.write():最大的缺点是违背了“行为应该与表现分离”的原则. 2. innerHTML 属性:在需要把一大段HTML内容插入一份文档时,innerHTML属性可以又快又简单的完成这个任务.不过,innerHTML属性不会返回任何对刚插入的内容的引用. 在任何时候,DOM都可以来替代innerHTML. 二. 利用DOM方法:DOM是文档的表示. 1. cr

dom编程艺术笔记1--第二章

第二章语法部分: 1.js注释:<!-- XXXXX 而"-->"这部分js会认为是注释内容的一部分 2.var 声明变量 不用声明变量类型 3.声明使用一个数组语法:var object = Array(arg) 或者var object = Array(xxx,xxx,xxx) 4.对象声明:var a = Object(); 语句结束用分号 a.name a.year用这种对象+点的方式创建对象属性 或者var a = {key:value}方式 创建+添加对象属性

javascript DOM 编程艺术----笔记

平稳退化和渐进增强原则平稳退化 : 如果正确的使用了JavaScript脚本,就可以让访问者在他们的浏览器不支持JavaScript的情况下仍能顺利的浏览你的网站. 这就是所谓的平稳退化(graceful degradation),就是说,虽然某些功能无法使用,但最基本的操作仍能顺利完成. 渐进增强: 所谓的"渐进增强"就是用一些额外的信息层去包裹原始数据. 按照"渐进增强"的原则创建出来的网页几乎都符合"平稳退化"原则. 总结: 保证网页能在最

《JavaScript dom 编程艺术》 placeholder占位符IE8兼容办法。

在<JavaScript dom 编程艺术>第11章学来的. 相对于用JavaScript替换文本框的提示语句 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <script> 7 window.onload = funct

JavaScript DOM编程艺术第一章:JavaScript简史

本系列的博客是由本人在阅读<JavaScript DOM编程艺术>一书过程中做的总结.前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助,所以 如果您也看过这本书,希望不要喷小的"抄袭",其实我也懒得敲这些文字也想简单粗暴地上代码,但是只有实践没有理论不容易自己理解,为避免误导,该"抄"的地方还是要"抄"的,哈哈~~ 一.JavaScript的起源 JavaScript是Netscap

《javascript dom编程艺术》笔记(一)——优雅降级、向后兼容、多个函数绑定onload函数

刚刚开始自学前端,如果不对请指正:欢迎各位技术大牛指点. 开始学习<javascript dom编程艺术>,整理一下学习到的知识.今天刚刚看到第六章,记下get到的几个知识点. 优雅降级 看到版本翻译为预留退路,刚刚看到个名词,我觉得很奇怪,以前没有听说过啊.不过看到英文注释就知道了Graceful degradation不就是优雅降级么,听说过! 书中举了个例子,点击一个链接,弹出一个窗口的方法. function popUp(WinURL){ window.open(WinURL,&quo

《javascript DOM 编程艺术》学习笔记(一)

书籍已经看完了前六章的内容,有了一定的编程基础后觉得本书内容相对来说过于简单,应该是完全针对于初学者的(或者如作者所说是写个Web设计师的),作者在表述一个问题,一句代码都解释得非常啰嗦与重复,不过从书中学习到更多的,也是作者想让读者体会的是让大家理解DOM脚本编程技术背后的思路和原则,作者特别以早期Javascript的滥用来强调Web的规范与标准,这一点是非常值得学习的,也是一个程序员的基本素养. 截止到第六章,将所学到的知识点归纳如下: 1.基本语法:与php一样是弱类型语言,虽然功能强大