利用HTML的map标签以及javascript实现图片切换

利用HTML的map标签以及javascript实现图片切换

在做java web作业过程中,突发奇想做了个图片切换的功能。图片热点区域划分可以根据图片大小自动划分为2块,左半部分是前一张图片,右部分是后一张图片。图片切换会根据图片长宽比例拉伸,但是高度设置为680。下面直接分享代码。
注:图片放在img/目录下,命名为n.jpg。例如:1.jpg 2.jpg

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<script>
		//前一个图片
		function change_leftpic(){
			var imgObj = document.getElementById("pic");
			var len=imgObj.getAttribute("src",2).split("");//第几张图片
			var areaLeft = document.getElementById("leftpic");
			var areaRight = document.getElementById("rightpic")
			//图片序号不低于1
			if(parseInt(len[4])!=1){
				var num = parseInt(len[4])-1;
				var flag = "img/"+num+".jpg";
				imgObj.src=flag;
				//检测图片是否加载完成
				imgObj.onload = function(){
				var rw = imgObj.naturalWidth; // 真实图片宽度html5
				var rh = imgObj.naturalHeight; //真实图片高度html5
				imgObj.height=680;//图片高度设置为固定值680
				imgObj.width = rw*680/rh;//图片宽度根据比例拉伸,防止图片变形
				areaLeft.coords="0,0,"+rw*680/rh/2+",680";
				areaRight.coords=rw*680/rh/2+",0,"+rw*680/rh+",680";
				}
			}
		}
		//后一个图片
		function change_rightpic(){
			var imgObj = document.getElementById("pic");
			var len=imgObj.getAttribute("src",2).split("");//第几张图片
			var areaLeft = document.getElementById("leftpic");
			var areaRight = document.getElementById("rightpic");
			//图片不超过9张
			if(parseInt(len[4])<9){
				var num = parseInt(len[4])+1;
				var flag = "img/"+num+".jpg";
				imgObj.src=flag;
				//检测图片是否加载完成
				imgObj.onload = function(){
				var rw = imgObj.naturalWidth; // 真实图片宽度
				var rh = imgObj.naturalHeight; //真实图片高度
				imgObj.height=680;//图片高度设置为固定值680
				imgObj.width=rw*680/rh;//图片宽度根据比例拉伸,防止图片变形
				areaLeft.coords="0,0,"+rw*680/rh/2+",680";
				areaRight.coords=rw*680/rh/2+",0,"+rw*680/rh+",680";
				}
			}
		}
	</script>
  <head>
		<title>Right.html</title>
  </head>

  <body>
		<h1 align="center">图片展示</h1>
		<img src="img/1.jpg" id="pic" alt="1" heigth="680" width="908" hspace="20" vspace="10" align="center" usemap="#erMap">
		<map name="erMap">
			<area shape="rect" coords="0,0,454,680" onclick="change_leftpic()" id="leftpic"/>
			<area shape="rect" coords="454,0,908,680" onclick="change_rightpic()" id="rightpic"/>
		</map>
  </body>
</html>

写完发现用不上,先留着,当是个记录吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值