jsp页面中实现图片切换显示

今天遇到一个需求,要求要在页面实现一张或多张图片的显示,如果为多张图片时要实现图片切换,于是自己就写了。但是在写的时候发现如果有多个容器都有这个需求的时就很容易造成id冲突(就是在多个div中了),于是自己便封装了一下代码,发现这个代码到处都可以用,所以就想分析一下。

具体代码如下:

//使用方式:
/*1,在需要显示图片的jsp页面引入
<%
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ request.getContextPath() + "/";
%>
<script id="script1" type="text/javascript" src="<%=basePath%>/dist/js/picture.js" basePath=<%=basePath%>></script>
2,在需要展示图片的地方使用以下代码,传入图片地址即可,如果有多个图片,则用“|”隔开。
<a href="#" onclick='showPictures("图片地址","区别页面的标示")'>查看</a>
*/
var basePath = document.getElementById('script1').getAttribute('basePath');
var flieNameArr="";
var flieNameConut=0;

	//显示多张图片(也可以用于单张图片展示),需要在显示图片的页面加入以下代码。
	//注:page是用于区分页面的,主要是为了避免id重复。
	//一定要注意的是,在以下代码代码中id的最后一个单纯一定要统一(最后一个”_“之后的单纯要保存一直)。
    //如果id=show_picture_second那么page就为second,主要是避免不同容器中的id重复。
	//如下代码,page则为index
	/*
	<div class="layer-wrap none" id="show_picture_index">
		<i class=" glyphicon glyphicon-remove btn-close"
			onclick="reviewWarnHidePicture('index')"></i> <img
			class="img-responsive center-block" src="" />
		<p id="failDetail" style="font-size: 14px;"
			class="tips-info c_red none">操作结果</p>
		<div class="btn-wrap">
			<button type="button" class="btn btn-primary warn_btn"
				onclick="reviewWarnHidePicture('index')">关闭</button>
			<button type="button" class="btn btn-primary warn_btn none"
				id="nextPicture_index" onclick="nextPicture('index')">下一张</button>
		</div>
	</div>
	*/
	//一张或多张图片展示
	function showPictures(fileNames,page){
		//增加遮罩
		 maskShow();
		//本地测试
		var xx="E:\\picture\\1.jpg|E:\\picture\\2.jpg|E:\\picture\\3.jpg"; 
		flieNameArr=fileNames.split("|");
		var iscontain = fileNames.indexOf("暂无")==-1?false:true;
		if(iscontain){//如果没有图片,则显示默认图片
			$("#nextPicture_"+page).hide();
			$("#show_picture_"+page+" img").attr("src","./images/zanwu.jpg");
			/*$("#show_picture p").text("暂无图片显示");*/
			/*$("#show_picture p").show();*/
			$("#show_picture_"+page).show();
			return ;
		}	
		//如果有多张图片,则切换显示
		if(flieNameArr.length>0){
			$("#nextPicture_"+page).show();
		}
		var file=flieNameArr[0];//初始化图片显示第一张
		url=basePath+'/getFile.do?fileName='+file;
		$("#show_picture_"+page+" img").attr("src",url);
		$("#show_picture_"+page).show();
	}
	//一张或多张图片展示
	function nextShowPicture(nextFile,page){
		maskShow();
		var fileName=flieNameArr[nextFile];
		url=basePath+'/getFile.do?fileName='+fileName;
		$("#show_picture_"+page+" img").attr("src",url);
		$("#show_picture_"+page).show();
	}
	function reviewWarnHidePicture(page){
		maskHide();
		$("#show_picture_"+page).hide();
	}
	function nextPicture(page){
		flieNameConut++;
		if(flieNameConut==flieNameArr.length){
			flieNameConut=0;
		}
		nextShowPicture(flieNameConut,page)
	}
	
	
	
	
	
	
	
	

注:其中“<%=basePath%>/dist/js/picture.js”为保存此代码的文件与文件路径。。。。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值