商品详情放大效果

男娘i 2022-06-12 12:14 324阅读 0赞
  1. //页面布局:
  2. <div class="box">
  3. <div class="disImg">
  4. <img src="images/datu.png"/>
  5. <img src="images/datu.png" style="display: none;" />
  6. <img src="images/datu.png" style="display: none;" />
  7. <img src="images/datu.png" style="display: none;" />
  8. <img src="images/datu.png" style="display: none;" />
  9. <div class="mask"></div>
  10. </div>
  11. <div class="bigImg">
  12. <div class="showBig">
  13. <img>
  14. </div>
  15. </div>
  16. </div>
  17. <ul class="img-list">
  18. <li class="border-f5">
  19. <img src="images/small.png" width="49" height="49" />
  20. </li>
  21. <li>
  22. <img src="images/small.png" width="49" height="49" />
  23. </li>
  24. <li>
  25. <img src="images/small.png" width="49" height="49" />
  26. </li>
  27. <li>
  28. <img src="images/small.png" width="49" height="49" />
  29. </li>
  30. <li>
  31. <img src="images/small.png" width="49" height="49" />
  32. </li>
  33. </ul>
  34. <ul class="shoucang">
  35. <li>
  36. <img src="images/shoucangtubiao.png" alt="收藏"/>
  37. 收藏宝贝(
  38. <span>
  39. 167
  40. </span>
  41. 人气)
  42. </li>
  43. <li>
  44. <img src="images/fenxiangtubiao.png" alt="分享"/>
  45. 分享
  46. </li>
  47. <li>
  48. <img src="images/jubaotubiao.png" alt="举报"/>
  49. 举报
  50. </li>
  51. </ul>
  52. </div>

布局效果:
html

  1. //js
  2. //查看大图
  3. var box = $(".box");
  4. var disImg = $(".disImg");
  5. var bigImg = $(".bigImg");
  6. var showBig = $(".showBig");
  7. var mask = $(".mask");
  8. $('.showBig img').attr('src',$('.disImg img')[1].src);
  9. //鼠标经过小盒子 显示遮罩和大盒子 鼠标离开后隐藏
  10. disImg.mouseover(function() {
  11. mask.show();
  12. bigImg.show();
  13. });
  14. disImg.mouseout(function() {
  15. mask.hide();
  16. bigImg.hide();
  17. });
  18. disImg.mousemove(function(event) {
  19. var event = event || window.event;
  20. var pageX = event.pageX || event.clientX + document.documentElement.scroolLeft;
  21. var pageY = event.pageY || event.clientY + document.documentElement.scrollTop;
  22. var targetX = pageX - box.offset().left;
  23. var targetY = pageY - box.offset().top;
  24. var maskX = targetX - mask.width() / 2;
  25. var maskY = targetY - mask.height() / 2;
  26. if (maskX < 0) {
  27. maskX = 0;
  28. }
  29. if (maskX > disImg.width() - mask.width()) {
  30. maskX = disImg.width() - mask.width();
  31. }
  32. if (maskY < 0) {
  33. maskY = 0;
  34. }
  35. if (maskY > disImg.height() - mask.height()) {
  36. maskY = disImg.height() - mask.height();
  37. }
  38. mask.css({
  39. 'left':maskX + 'px','top':maskY + 'px'});
  40. var bigToMove = showBig.width() - bigImg.width();
  41. var maskToMove = disImg.width() - mask.width();
  42. var rate = bigToMove / maskToMove;
  43. showBig.css({
  44. 'left':-rate * maskX + 'px','top':-rate * maskY + 'px'});
  45. });
  46. //图片展示
  47. $('.img-list').find('li').click(function() {
  48. var _index = $(this).index() + 1;
  49. $('.disImg img').hide();
  50. $('.disImg img:nth-child(' + _index + ')').show();
  51. $('.img-list').find('li').removeClass('border-f5');
  52. $(this).addClass('border-f5');
  53. var path=$('.disImg img')[_index].src;
  54. $('.showBig img').attr('src',path);
  55. });

效果:
xiaoguo

发表评论

表情:
评论列表 (有 0 条评论,324人围观)

还没有评论,来说两句吧...

相关阅读