js实现点小图看大图效果的思路及示例代码


Posted in Javascript onOctober 28, 2013

DOM:就是用JavaScript操作HTML节点。

知识点:

将HTML变成DOM树

看到HTML会画DOM树。

创建节点,添加节点,删除节点

varnodeObj = document.createElement(“节点名”); //创建元素节点

document.createTextNode(“文本”); //创建文本节点

父节点.appendChild(子节点); //把子节点添加到父节点下

父节点.removeChild(子节点);

//获得节点

document.getElementById(“id号”);

document.getElementsByTagName(“html的标签名”)[0];

父节点.getElementsByTagName(“html的标签名”)[0];

//获得子元素的节点

父节点.childNodes

父节点.firstChild

父节点.lastChild

//节点的属性

nodeType 1元素节点 2属性节点 3文本节点

nodeName 元素节点使用,返回标签名的大写字符串

nodeValue 文本节点使用,返回或设置文本

//获得兄弟节点

当前节点.nextSiblings

设置节点的属性

节点.setAttribute(属性名,值);

节点.getAttribute(属性名);

p.setAttrubute(“style”,”color:red;font-size:20px;”);

//一般做法,可以设置或获取

节点.属性名

设置文本

文本节点.nodeValue=文本;

案例:点击小图看大图

<!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> 
<title></title> 
<meta charset="gb2312" /> 
<style type="text/css"> 
body{ 
background-color:pink; 
} 
#div{ 
/*border:1px solid green;*/ 
margin:40px auto; 
width:900px; 
} 
#ul li{ 
float:left; 
margin-right:10px; 
list-style-type:none; 
} 
p{ 
background-color:silver; 
width:50%; 
margin:0 auto; 
top:10px; 
text-align:center; 
} 
#divShow{ 
/*border:1px solid red;*/ 
width:640px; 
height:400px; 
margin:10px auto; 
clear:both; 
} 
</style> 
</head> 
<body> 
<div id="div"> 
<ul id="ul"> 
<li> 
<a href="imgs/0.jpg"> 
<img src="imgs_small/0.jpg" title="图片111"></img> 
</a> 
</li> 
<li> 
<a href="imgs/1.jpg"> 
<img src="imgs_small/1.jpg" title="图片222"></img> 
</a> 
</li> 
<li> 
<a href="imgs/2.jpg"> 
<img src="imgs_small/2.jpg" title="图片333"></img> 
</a> 
</li> 
<li> 
<a href="imgs/6.jpg"> 
<img src="imgs_small/6.jpg" title="图片444"></img> 
</a> 
</li> 
<li> 
<a href="imgs/4.jpg"> 
<img src="imgs_small/4.jpg" title="图片555"></img> 
</a> 
</li> 
</ul> 
</div> 
</body> 
</html> 
<script type="text/javascript"> 
//创建一个div节点 
var divShow = document.createElement("div"); 
//设置div的id属性 
divShow.setAttribute("id","divShow"); 
//创建一个img节点 
var img = document.createElement("img"); 
//设置img的id属性 
img.setAttribute("id","img"); 
//设置img的src属性 
img.setAttribute("src","imgs/face.jpg"); 
//将img节点添加到div下 
divShow.appendChild(img); 
//创建文本说明标签p 
var p = document.createElement("p"); 
p.setAttribute("id","p"); 
p.appendChild(document.createTextNode("说明")); //得到HTML中的body节点 
var body = document.getElementsByTagName("body")[0]; 
//将div添加到body节点下 
body.appendChild(divShow); 
body.appendChild(p);//把p添加到body下 

//为元素添加单击事件 
//节点对象.事件名 = new function(){}; 
//得到所有的<a>标签 
var alist = document.getElementById("div").getElementsByTagName("a"); 
for(var i = 0;i < alist.length; i++){ 
//当鼠标点击时切换图片 
alist[i].onclick = function(){ 
//this就表示当前被点击的节点 
//点谁获得谁的href和title的值 
var href = this.getAttribute("href"); 
var img = this.getElementsByTagName("img")[0]; 
var title = img.getAttribute("title"); 
//修改img标签的src属性 
var img = document.getElementById("img"); 
img.setAttribute("src",href); 
//修改p标签的文本 
var p = document.getElementById("p"); 
p.firstChild.nodeValue=title; 
//取消<a>标签的跳转 
return false; 
} 
//当鼠标称上去的时候切换图片 
alist[i].onmousemove = function(){ 
//this就表示当前被点击的节点 
//点谁获得谁的href和title的值 
var href = this.getAttribute("href"); 
var img = this.getElementsByTagName("img")[0]; 
var title = img.getAttribute("title"); 
//修改img标签的src属性 
var img = document.getElementById("img"); 
img.setAttribute("src",href); 
//修改p标签的文本 
var p = document.getElementById("p"); 
p.firstChild.nodeValue=title; 
//取消<a>标签的跳转 
return false; 
} 
} 
</script>
Javascript 相关文章推荐
alixixi runcode.asp的代码不错的应用
Aug 08 Javascript
javascript new一个对象的实质
Jan 07 Javascript
javascript获得服务器端控件的ID的实现代码
Dec 28 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
Feb 06 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
Nov 03 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
Apr 10 Javascript
jquery实现图片按比例缩放示例
Jul 01 Javascript
JS 作用域与作用域链详解
Apr 07 Javascript
JavaScript实现简单的数字倒计时
May 15 Javascript
jQuery Html控件基本操作(日常收集整理)
Mar 11 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
Aug 07 Javascript
JavaScript制作3D旋转相册
Aug 02 Javascript
javascript:void(0)的作用示例介绍
Oct 28 #Javascript
jsonp原理及使用
Oct 28 #Javascript
JS实现一键回顶功能示例代码
Oct 28 #Javascript
简单的js表单验证函数
Oct 28 #Javascript
自己写的Javascript计算时间差函数
Oct 28 #Javascript
Textarea根据内容自适应高度
Oct 28 #Javascript
将json当数据库一样操作的javascript lib
Oct 28 #Javascript
You might like
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
PHP 使用redis简单示例分享
2015/03/05 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
2014/06/05 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
2015/03/31 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
Vue组件化开发思考
2018/02/02 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
Python2.x中文乱码问题解决方法
2015/06/02 Python
Python设置在shell脚本中自动补全功能的方法
2018/06/25 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
在django模板中实现超链接配置
2019/08/21 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
python将数组n等分的实例
2019/12/02 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
项目副经理岗位职责
2013/12/30 职场文书
土地转让协议书
2014/04/15 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
大学生活感想
2015/08/10 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers