本来对js没有做个系统的学习,都是在工作中积累的,大部分都能解决,只是没有太注意细节,今天就遇到了这个,本来想着很简单的,分分钟就能解决,后来用了半个小时,还是查资料,才想起来之前有过这种写法。现在总结一下
本来模板文件,使用el表达式循环获取一组img,所以id是重复的,添加了onclick事件,获取图片的src值,在另一个div中显示其大图。
写完之后总是获取第一个值的src,(使用chrome调试工具显示图片的src是不一样的,为什么总是获取第一个值呢)调试了一会还是没有解决,上网搜索一下,恍然大悟,在onclick事件中传入this参数,这样点击那个就获取那个的值。代码简单如下:
<div id="preview">
<div class="jqzoom" style="position:relative;">
<a class="cloud-zoom" id="zoom1" rel="lensOpacity:1,adjustX:10" href="javascript:void(0);" style="position: relative; display: block;">
<img id="bigimg" src="@bigimg" alt="@name">
</a>
</div>
<div id="spec-list">
<ul class="lh">
<{>
<li><a href="javascript:void(0);" class="cloud-zoom-gallery" rel=""><img id="thumimg" src="@smallimg" width="50" height="50" onclick="showimg(this)"></a></li>
<}>
</ul>
</div>
js代码如下:
function showimg(obj){
var src=$(obj).attr("src");//获取到小图的地址
var bigsrc= src.replace("thumb","big");//获取大图地址
$("#bigimg").attr("src", bigsrc);
}