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 ...
随机推荐
- mkdir、whoami、touch
mkdir whoami touch:"摸",如果文件不存在,就建立新文件,如果存在,就改变文件的访问时间atime等时间戳信息. mkdir aa ls –ld aa 创建多级目 ...
- 机器学习笔记1——Linear Regression with One Variable
Linear Regression with One Variable Model Representation Recall that in *regression problems*, we ar ...
- 【python自动化第六篇:面向对象】
知识点概览: 面向对象的介绍 面向对象的特性(class,object)实例变量,类变量 面型对象编程的介绍 其他概念 一.面向对象介绍 编程范式:面向对象,面向过程,函数式编程 面向过程:通过一组指 ...
- 动态的变量如何作为json的键
定义一个json,然后设置键值,可是键本身也是变量 如何写呢? 按照以往的写法 var name="lizhaoyao"; var json={}; json.name=" ...
- Mina学习之IoFilter
IoFilter 是MINA中的一个核心结构,扮演了非常重要的角色.IoFilter在IoService和IoHandler过滤了所有的I/O 事件和请求.如果你有做个web项目的经验,则很类似于we ...
- 推荐一个可视化的学习Git的好网站:LearnGitBranching
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:推荐一个可视化的学习Git的好网站:LearnGitBranching.
- 圣诞节来了,雪花纷飞的CSS3动画,还不首页用起来
圣诞节来了,冬天来了,怎么可以没有雪花纷飞效果,昨天下班前折腾了一会儿,弄了个雪花纷飞的实例,有兴趣的可以交流分享下. 原文链接:http://www.html5think.com/article/i ...
- Matlab mex编程
经典教程:mex 编程 http://classes.soe.ucsc.edu/ee264/Fall11/cmex.pdf Matlab 快速编程: http://www.ee.columbia.ed ...
- 01 if
if - else if语句是一种控制语句,执行一代码块,如果一个表达式计算为true if (expression) statement1 else statement2 如 ...
- MYSQL学习笔记2--mysql 静态和动态plugin
mysql源码编译 .cmke 安装 yum install cmake .依赖的库下载机安装: yum -y install gcc* gcc-c++* autoconf* automake* zl ...