简单实现点击图片放大的功能

背景:想在app中加上点击缩略图放大的效果,但是不想导入大量的JS ,也无需哪些复杂的插件,于是自己手写了一个很简单的实现,在这里记下来。

代码很简单,还有很多优化空间,时间有限,就没有优化了

1 . 先准备大图的位置

大图是fixed于整个界面,只修改其中的src以达到修改图片的目的

其中:

<i class="iconfont icon_close_right_c"></i>
//这代码是阿里矢量图下载的

完整:

        <!--大图位置-->
        <div class="imgcontent">
            <div id="_big_img">
                <div class="big_close"><i class="iconfont icon_close_right_c"></i></div>
                <img id="_big_src" src="">
            </div>
        </div>
2 . 缩略图代码
小图位置:
<li class="items_content_img" pid="ABCD">
    <div class="img_item_c">
        <img src="文件缩略图路径" pid="可扩展文件大图路径">
    </div>
    <div class="img_item_c">
        <img src="文件缩略图路径" pid="可扩展文件大图路径">
    </div>
</li>

此处的pid 路径我们有用到,这里可以优化为img 正常显示缩略图,而pid放完整的大图路径,可以优化加载速度

3. 相关JS
               $('#list_add_class').on("click", ".items_content_img img", function () {
                    var _href = $(this).attr("src");
                    $("#_big_src").attr("src", _href).parents(".imgcontent").fadeIn("1000");
                });
                $('.icon_close_right_c').on("click", function () {
                    $(".imgcontent").fadeOut()("1000");
                });

代码很简单,点击缩略图则调出隐藏的大图Div (大图DIV一开始是隐藏的)
为了优化显示效果,使用了fadein,fadeout

4.补充CSS代码

           .items_content_img{width: 100%;}
            .items_content_img img{
                width: 27vw;
                margin-left: 1.5vw;
                max-height: 14vw;
                border: #ccc 2px solid;
            }
            #_big_img{position: fixed;width: 80%;margin-top: 15%;margin-left: 10vw;}
            #_big_img img{width: 100%;}
            .icon_close_right_c{float: right;color: #ff0000;font-size: 10vw;}
            .imgcontent{height: 200%;opacity: 0.9;background: #fff;display: none}
            .img_item_c{float: left;}
5.总结

这些就是完整流程,代码不难,但是实现的效果还是不错的。

在这里插入图片描述

时间有限,就没有做优化,这种方式可以实现不需要太多JS就简单的实现看到详细的大图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值