【javascript】JS+DOM实现图片库(改进版)

本文介绍了一种使用JavaScript和DOM实现的图片库,强调了平稳退化和代码分离。通过检查浏览器对DOM方法的支持,将事件处理函数绑定到元素,确保在JavaScript不可用时仍能正常浏览。同时,文章探讨了showPic函数的优化,包括对HTML结构假设的减少和键盘访问的支持,以及DOM Core和HTML-DOM的区别。
摘要由CSDN通过智能技术生成

一、它支持平稳退化吗

<li>
  <a href="images/fireworks.jpg" onclick="showPic(this); return false;" title="A fireworks display">Fireworks</a>
</li>

可以发现,在没有javascript的情况下,浏览器会沿着href属性给出的链接前进,虽然用户体验比用javascript的效果要逊色,但网页的基本功能未受到损害。即,它支持平稳退化。

二、它的javascript与HTML标签是分离的吗

<li>
  <a href="images/fireworks.jpg" onclick="showPic(this); return false;" title="A fireworks display">Fireworks</a>
</li>

很明显,onclick事件处理函数是直接插入到HTML中的,因此不是分离的。理想情况下,应该是在外部文件里完成加添onclick事件处理函数的工作。

首先需要把js代码移动HTML,但需要把js代码与HTML标签关联起来,可以分别给每个图片添加同一个class属性,但过于复杂。我们可以发现图片链接都包含在ul元素里,因此值需要给ul元素设置一个id。

		<ul id="imagegallery"> 
			<li>
				<a href="#" title="A fireworks display">Fireworks</a>
			</li>
			<li>
				<a href="images/coffee.jpg" title="A cup of coffee">Coffee</a>
			</li>
			<li>
				<a href="images/rose.jpg" title="A red rose">Rose</a>
			</li>
			<li>
				<a href="images/bigben.jpg" title="The famous clock">Big Ben</a>
			</li>
		</ul>

1.添加事件处理函数
需要编写一个函数关联到onclick事件上。
【函数任务】

  • 检查当前浏览器是否理解getElemenTagName
  • 检查当前浏览器是否理解getElementsByTagName
  • 检查当前页面是否存在一个id为imagegallery的元素
  • 遍历imagegalley元素中所有的链接
  • 设置onclick事件,让它有相关链接被点击时完成以下事件:把这个链接作为参数传递给showPic函数,并且取消链接被点击时的默认行为。

(1)检查点
首先,需要检查浏览器是否理解getElementsByTagName和getElementById的方法,此外,还需要检查是否存在id等于imagegalley的元素,如果不存在这个元素,那么函数将无需执行。

if(!document.getElementsByTagName) return false;
if(!document.getElementById) return false;
if(!document.getElementById("imagegallery")) return 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值