jquery 图片手风琴效果

这篇主要是手风琴效果和无缝切换相结合,在Demo里的Demo3.html、Demo4.html。

手风琴原理比较简单,当鼠标经过的时候改变图片的路径,鼠标移到另一张图片时还原路径。

虽然原理简单,但是做的过程中也遇到很多纠结的事。

一起来看代码吧!(很多变量没有给出,请结合Demo js里的ImageSlide.js)

 <li>
      <span style="position: absolute;bottom: 5px;width: 100%;text-align: center;">22222</span>
       <a class="img_b" href="#" Smallimg="images/2_s.jpg" Bigimg="images/2_b.jpg">
            <img alt="" width="150" height="150" src="images/2_s.jpg"/>
       </a>
 </li>

先是用a标签设置Smallimg 和 Bigimg来存图片的路径,因为img的src会改变。

当鼠标经过li的时候我们就改变img的src 把图片变成大图。

 $this.find("li").mouseover(function () {
     var myurl = $(this).find('a').attr("Bigimg"); //获取大图路径
     $(this).css("width",options.bigImgWidth).find('img').attr({src: myurl,width:options.bigImgWidth});
 });

当鼠标移到其他的图片的时候,就应该把上一张图片变小。之前我一直在纠结用什么方式来记录上一次鼠标经过的图片。

后来想了一下觉得用个全局变量来记录比较方便点。

  var  $lastLi;        
  $this.find("li").mouseover(function () {
      if ($lastLi != undefined) {
          var lasturl = $lastLi.find('a').attr("Smallimg");
          $lastLi.css("width",liwidth).find('img').attr({src: lasturl,width:liwidth});
      }
      var myurl = $(this).find('a').attr("Bigimg");
      $(this).css("width",options.bigImgWidth).find('img').attr({src: myurl,width:options.bigImgWidth});
      $lastLi = $(this);
 });

鼠标不移动的时候,图片也应该自动把中间的图片变成大图。

 var $getli = $this.find('li').eq(2);//这里又偷懒了,应该根据显示图片数量来判断中间图片
 var myurl = $getli.find('a').attr("Bigimg");
 $getli.css("width", options.bigImgWidth).find('img').attr({src: myurl, width: options.bigImgWidth});
 $lastLi = $getli;

和图片无缝切换结合就变成一个很好的手风琴效果了。

下篇图片放大

谢谢!

 

版权所有,转载请注明出处,谢谢!

转载于:https://www.cnblogs.com/WinKi/p/3370197.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值