基于Zepto.js实现图片放大与相册弹窗功能

作者:桌面漫游时间:2026-10-30 09:30:30浏览:508

本文介绍如何使用Zepto.js实现图片点击放大及相册弹窗功能。通过绑定点击事件,动态创建遮罩层与图片容器,支持自定义图片宽度,并处理关闭逻辑,适用于移动端或轻量级前端项目的图片浏览交互。

Zepto.js实现图片放大与相册弹窗功能

首先展示一下最终的弹窗效果,如下图所示:

Zepto.js实现图片放大与相册弹窗功能


//放大图片
  $(page).on('click','.popupImage img',function () {
   var that = $(this);
   that.popupImage({
    this:that,
    width:"200px"
   })
  });

  //相册弹窗
 $.fn.popupImage = function (obj) {
  var $this = obj.this;
  var sj_w = $this[0].naturalHeight;
  var src = $this.attr('src');
  var h = $('body').height();
  var w = $('body').width();
  var padding = 10;
  var shadeW = w - padding*2;
  var img = '',shade = '';
  
  img = '<div class="popup-image" style="position:absolute; top:0; left:0; z-index: 999999; padding:10px '+padding+'px; width: '+w+'px; height:'+h+'px; line-height: '+h+'px; text-align: center;" >' +
   '<img src="'+src+'" style="max-width: '+shadeW+'px"/></div>';
  shade = '<div class="shade" style="position:absolute; top:0; left:0; width: '+w+'px; height:'+h+'px;background: #000; z-index: 999990; opacity: .8;"></div>';

  $('body').append(shade);
  $('body').append(img);  

  $('.popup-image').on('click',function () {
   $('.popup-image').remove();
   $('.shade').remove();
  })

 };

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

作者最新文章