一个单的利用JS切换图片的功能

写法1:

  <section>
<h2>JS切换图片</h2>
<ul class="pictable">
<li><a href="img/1.jpg" onclick="showPic(this);return false" title="this picture is beautiful"><img class="picbox" src="img/1.jpg" alt=""></a></li>
<li><a href="img/2.jpg" onclick="showPic(this);return false" title="this picture is beautiful"><img class="picbox" src="img/2.jpg" alt=""></a></li>
<li><a href="img/3.jpg" onclick="showPic(this);return false" title="this picture is beautiful"><img class="picbox" src="img/3.jpg" alt=""></a></li>
<li><a href="img/4.jpg" onclick="showPic(this);return false" title="this picture is beautiful"><img class="picbox" src="img/4.jpg" alt=""></a></li>
</ul>
<p id="pic_description">图片描述</p>
<img src="https://b-ssl.duitang.com/uploads/item/201408/04/20140804204624_xSeGA.png" id="placeholder" alt="img fult">
</section> function showPic(whichpic){
//改变图片
var source = whichpic.getAttribute("href");
var placeholder=document.getElementById("placeholder");
placeholder.setAttribute("src",source);
//改变图片描述
function showPic_description(){
var text=whichpic.getAttribute("title");
var pic_desciption=document.getElementById("pic_desciption");
pic_desciption.childNodes[0].nodeValue=text;
};
};

写法2:

<section>
<h2>JS切换图片</h2>
<ul class="pictable" id="img_gallert">
<li><a href="img/1.jpg" title="this picture is beautiful"><img class="picbox" src="img/1.jpg" alt=""></a></li>
<li><a href="img/2.jpg" title="this picture is beautiful"><img class="picbox" src="img/2.jpg" alt=""></a></li>
<li><a href="img/3.jpg" title="this picture is beautiful"><img class="picbox" src="img/3.jpg" alt=""></a></li>
<li><a href="img/4.jpg" title="this picture is beautiful"><img class="picbox" src="img/4.jpg" alt=""></a></li>
</ul>
<p id="pic_description">图片描述</p>
<img src="https://b-ssl.duitang.com/uploads/item/201408/04/20140804204624_xSeGA.png" id="placeholder" alt="img fult">
</section> window.onload=prepareGallery;
function prepareGallery(){
//找到图片集
var gallery=document.getElementById("img_gallert");
// 图片集的a元素节点
var link=gallery.getElementsByTagName("a");
// 遍历节点
for(var i=0;i<link.length;i++){
link[i].onclick=function(){
showPic(this);
return false;
}
}
};
function showPic(whichpic){
//改变图片
var source = whichpic.getAttribute("href");
var placeholder=document.getElementById("placeholder");
placeholder.setAttribute("src",source);
};

虽然功能都一样,但是写法2却更好JS不会因为HTML里的代码改变了,就导致无法执行。
好的JS应该与HTML标签是分离的。后期维护更加方便

最新文章

  1. 已经重写,源码和文章请跳转http://www.cnblogs.com/ymnets/p/5621706.html
  2. 利用Generator解决异步回调原理
  3. Centos 基础开发环境搭建之Maven私服nexus
  4. oracle中利用trigger,sequence自动生成ID
  5. C# 获取地址栏的地址(URL)
  6. POJ 3254 Corn Fields(状压DP)
  7. ANTLR3完全参考指南读书笔记[04]
  8. 1Android系统移植与驱动开发概述
  9. Node.js缓冲模块Buffer
  10. 常用的Activex 控件
  11. oracle15 pl/sql 分页
  12. 华丽的NHibernate
  13. mui和zepto的tap事件
  14. collection 模块
  15. Python-字典dict对象方法总结
  16. 人人都是CEO
  17. 010 pandas的DataFrame
  18. 用eclipse 玩转cocos 2dx开发
  19. BZOJ 3238 [Ahoi2013]差异(后缀自动机)
  20. why pure virtual function has definition 为什么可以在基类中实现纯虚函数

热门文章

  1. redis数据库写入数据时提示redis.exceptions.ResponseError错误
  2. 项目server中设置session timeout遇到的问题
  3. 2019-2020-1 20199324《Linux内核原理与分析》第一周作业
  4. ionic 打包时所遇问题记录
  5. ionic3 打开相机与相册,并实现图片上传
  6. PHP小点注意
  7. python语法基础-并发编程-线程-长期维护
  8. 初试vue
  9. AndroidP推出多项AI功能,会不会引发新的隐私担忧?
  10. VSTO自动安装、卸载工具