Javascript实现图片库效果
思路:
无序列表加载图片文件。用img标签加载一张图片作为占位符。当点击照片链接时,改变<a>元素的href属性。并且阻止浏览器的默认行为。
动态改变描述文字,在图片下方增加P标签。通过获取p标签内容,换成图片的title属性。
用到JS的DOM属性:
childNodes:获取父节点下的所有子节点
nodeType:节点属性
{
元素节点的属性值是:1;
属性节点的属性值是:2;
文本节点的属性值是:3;
}
nodeValue 改变文本节点的值(p元素本身是null值,获取p元素子节点其实是第一个子节点的nodeValue值)
firstChild 第一个子元素
lastChild 第二个子元素.
源码:
<body>
<h1>Snapshots</h1>
<ul>
<li><a href="bassist.jpg" title='第一张' onclick='showpic(this); return false;' >bassist</a></li>
<li><a href="concert.jpg" title='第二张' onclick='showpic(this); return false;'>concert</a></li>
<li><a href="crowd.jpg" title='第三张' onclick='showpic(this); return false;'>crowd</a></li>
<li><a href="guitarist.jpg" title='第四张' onclick='showpic(this); return false;'>guitarist</a></li>
</ul>
<img id='placeholder' src="placehoder.jpg" >
<p id='description'>choose an img </p>
</body>
编写showpic函数:
Function showpic(whichpic){
Var placeholder = document.getElementById(‘placeholder’);
Var souce = whichpic.getAttribute(‘href’);
Placeholder.setAttribute(‘src’,’souce’);
Var text = whichpic.getAttribute(‘title’);
Var description = document.getElementById(‘description’);
description.firstChild.nodeValue = text
}
总结:
重点在于事情处理函数,因为showpic需要一个参数,:一个带有href属性的元素节点参数,所以当把onclick事件处理函数嵌入到一个链接中时,需要把这个链接本身用作showpic函数的参数,所以要使用‘ this’关键字。
效果:

Javascript实现图片库效果的更多相关文章
- JavaScript 省市级联效果
JavaScript 省市级联效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- Rainyday.js – 使用 JavaScript 实现雨滴效果
Rainyday.js 背后的想法是创建一个 JavaScript 库,利用 HTML5 Canvas 渲染一个雨滴落在玻璃表面的动画.Rainyday.js 有功能可扩展的 API,例如碰撞检测和易 ...
- JavaScript之放大镜效果2
在放大图片效果的同时,我们怎么原图和放大窗体增加间隔呢? 我们只需应用一个table就行了: 源码上: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML ...
- JavaScript之放大镜效果
在网上也浏览过许多关于JavaScript放大镜效果的文章,有的代码解释得些隐晦难懂,看的我头有点晕晕的╮(╯﹏╰)╭,我的心情是这样的: 吐槽完了,我们动动小鼠标,当鼠标经过下面这张美女图片时就实现 ...
- JavaScript实现动画效果
说到JavaScript实现动画效果,不得不想到两个函数,setTimeout和setInterval. setTimeout的常用的使用方法为 setTimeout(callback, delay) ...
- javascript瀑布流效果
javascript瀑布流效果 其实javascript瀑布流 前几年都已经很流行了(特别是美丽说,蘑菇街),最近看到网上有人问这个瀑布流效果,所以自己有空的时候就研究了下,其实也是研究别人的代码,研 ...
- javascript跟随滚动效果插件代码(javascript Follow Plugin)
这篇文章介绍了javascript跟随滚动效果插件代码(javascript Follow Plugin),有需要的朋友可以参考一下Js 跟随滚动效果插件支持定义多个跟随ID,采用css fixed属 ...
- Javascript 广告浮动效果在浏览器中间N秒后移动到右下角
Javascript 广告浮动效果在浏览器中间N秒后移动到右下角 闲着无聊做了一个,本人原创...就是这个页面的广告效果....怎么样???? 刚刚学习的javascript
- javascript图片放大镜效果展示
javascript图片放大镜效果展示 <!DOCTYPE html> <html> <head lang="en"> <meta cha ...
随机推荐
- devi into python 笔记(三)callable getattr lambda表达式
常用的函数:callable():如果所给参数是可调用的,返回True 不可调用返回Fasle.这里指的是否能调用说的是方法.类方法等有doc string的东西,一个单纯的字符串等就不算了. imp ...
- lfs遇到的一些问题--后续阶段
1.安装GPM-1.20.7,make install出错: prog/display-buttons.c:39:57: 致命错误:gpm.h:没有那个文件或目录 #include <gpm.h ...
- 【python自动化第六篇:面向对象】
知识点概览: 面向对象的介绍 面向对象的特性(class,object)实例变量,类变量 面型对象编程的介绍 其他概念 一.面向对象介绍 编程范式:面向对象,面向过程,函数式编程 面向过程:通过一组指 ...
- c#将金额转换为大写,支持小数点,原创经典
网上搜的都有问题,这个代码属于原创,代码简洁,支持小数点,若没有小数点,则为整 /// <summary> /// 将金额转换成大写 /// </summary> /// &l ...
- SQLite 入门教程(四)增删改查,有讲究 (转)
转于: SQLite 入门教程(四)增删改查,有讲究 一.插入数据 INSERT INTO 表(列...) VALUES(值...) 根据前面几篇的内容,我们可以很轻送的创建一个数据表,并向其中插入一 ...
- github pages简易指南
在我之前的博客用Octopress在Github pages上写博客(博客园上,github pages上)中介绍了怎么在Github Pages上写博客,今天发现了一个很不错的github page ...
- C++中this指针的使用方法.
this指针仅仅能在一个类的成员函数中调用,它表示当前对象的地址.以下是一个样例: void Date::setMonth( int mn ) { month = mn; // 这三句是等价的 thi ...
- Run-Time Check Failure #2 - Stack around the variable 'ucPriKey' was corrupt
Run-Time Check Failure #2 一般是栈被破坏,你的代码可能有缓冲区溢出一类的问题. Run-Time Check Failure #2 - Sta ...
- [WebGL入门]十四,绘制多边形
注意:文章翻译http://wgld.org/.原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:].另外,鄙人webgl研究还不够深入.一些专业词语,假设翻译有误,欢迎大家 ...
- 【JavaScript设计模式系列---开篇预览】
转:http://www.cnblogs.com/Darren_code/archive/2011/08/31/JavascripDesignPatterns.html 2011-08-31 23:5 ...