Layui 完美实现图片上传 预览 以及预览时候可删除图片

1,先引用基本jq脚本及相关依赖脚本

<link href="~/Scripts/layui/css/layui.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/layui/layui.js"></script>

2,前端页面

<span>上传图片:</span>
            <div class="upload" id="test1">+</div>
            <div class="layui-upload-list"></div>
            <div><button type="button" class="layui-btn-radius" id="save"><i class="layui-icon ">&#xe67c;</i>点击上传</button></div>

3,js方法

 layui.use(['upload', 'jquery'], function () {
        var upload = layui.upload;
        var $ = layui.jquery;
        //执行实例
        var uploadInst = upload.render({
            elem: '#test1', //绑定元素
            multiple: true,
            auto: false,
            acceptMime: 'image/*',
            bindAction: "#save",//绑定上传
            url: '/SendNotice/Upload', //上传接口
            choose: function (obj) { //obj参数包含的信息,跟 choose回调完全一致
                //将每次选择的文件追加到文件队列
                let UPLOAD_FILES = obj.pushFile();
                for (let x in UPLOAD_FILES) {
                    delete UPLOAD_FILES[x];
                }
                //layer.load(); //上传loading
                obj.preview(function (index, file, result) {

                files = obj.pushFile();
                    $(".layui-upload-list").append('<img src="' + result + '" id="remove_' + index + '" title="双击删除该图片" style="width:200px;height:auto;">')
                    $('#remove_' + index).bind('dblclick', function () {//双击删除指定预上传图片
                        delete files[index];//删除指定图片
                        $(this).remove();
                    })
                    //console.log(1, index); //得到文件索引
                    //console.log(2, file.name); //得到文件对象
                    //console.log(3, result); //得到文件base64编码,比如图片
                })
            },
            done: function (res) {
                imgs = imgs.concat(res.Data)
                console.log(imgs)
                if (res.Result) {
                    layer.msg("图片上传成功!", { icon: 1, time: 1000 });
                }
                //上传完毕回调
            },
            error: function () {
                //请求异常回调
            }
        });
    });

提示:为预览图片绑定双击删除事件,事件执行时候可通过索引删除相应图片,且图片源也会相应删除,从而实现真正删除预上上传的图片。

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
layui是一款基于jQuery的前端UI框架,它提供了丰富的组件和样式,方便开发者快速构建美观的网页界面。在layui中,点击图片可以通过使用其内置的图片组件实现。 要实现点击图片,可以按照以下步骤进行操作: 1. 引入layui库和相关样式文件。在HTML文件中,通过`<link>`标签引入layui的CSS样式文件和JS文件。 2. 创建一个包含图片的HTML元素。可以使用`<img>`标签来展示图片。 3. 给图片元素添加`lay-event`属性,并设置为`preview`。这样当点击图片时,layui会自动触发图片功能。 4. 初始化layui组件。在JS代码中,使用`layui.use()`方法初始化layui组件。 5. 监听图片事件。使用`element.on()`方法监听图片事件,并在回调函数中执行相应的操作。 下面是一个示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>点击图片</title> <link rel="stylesheet" href="path/to/layui/css/layui.css"> </head> <body> <img src="path/to/image.jpg" lay-event="preview"> <script src="path/to/jquery.js"></script> <script src="path/to/layui/layui.js"></script> <script> layui.use(['layer', 'element'], function(){ var element = layui.element; element.on('nav(preview)', function(elem){ var src = $(elem).attr('src'); // 在这里可以执行图片的操作,比如弹出一个大图窗口 layer.open({ type: 1, title: false, closeBtn: 0, area: 'auto', skin: 'layui-layer-nobg', // 没有背景色 shadeClose: true, content: '<img src="' + src + '" style="max-width:100%;">' }); }); }); </script> </body> </html> ``` 在上面的示例代码中,我们使用了`layer.open()`方法来实现图片的效果。当点击图片时,会弹出一个包含大图的浮层窗口。 希望以上内容能够帮助到你!如果还有其他问题,请继续提问。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值