input file样式修改以及图片预览删除功能详细概括(推荐)

下面是详细的攻略:

input file样式修改以及图片预览删除功能详细概括

1. input file样式修改

1.1 使用label标签+input file实现input file样式修改

通过使用label标签中的for属性和input file中的id属性相互关联,可以实现点击label标签就可以调起input file选择文件的功能,从而在外观上加以美化。代码如下:

<!--HTML代码-->
<label for="file">选择文件</label>
<input type="file" id="file">
/*CSS代码*/
label {
  display: inline-block;
  border: 1px solid #ccc;
  padding: 6px 12px;
  cursor: pointer;
}
input[type="file"] {
  display: none;
}

1.2 使用插件实现input file样式修改

也可以使用第三方插件,如jQuery File Upload等来实现input file样式的修改,这些插件可以在上传文件时显示上传进度条、预览图片等功能,同时也具有比较好的兼容性。使用步骤:

  • 引入jQuery和插件文件;
  • 在HTML中添加相应的DOM结构;
  • 通过JS调用插件方法初始化上传功能。

示例代码:

<!--HTML代码-->
<div id="fileupload">
    <form method="post" action="server/php/" enctype="multipart/form-data">
        <div class="row fileupload-buttonbar">
            <div class="col-md-7">
                <span class="btn btn-success fileinput-button">
                    <i class="glyphicon glyphicon-plus"></i>
                    <span>添加文件</span>
                    <input type="file" name="files[]" multiple>
                </span>
                <button type="submit" class="btn btn-primary start">
                    <i class="glyphicon glyphicon-upload"></i>
                    <span>开始上传</span>
                </button>
                <button type="reset" class="btn btn-warning cancel">
                    <i class="glyphicon glyphicon-ban-circle"></i>
                    <span>取消上传</span>
                </button>
                <button type="button" class="btn btn-danger delete">
                    <i class="glyphicon glyphicon-trash"></i>
                    <span>删除文件</span>
                </button>
                <input type="checkbox" class="toggle">
                <span class="fileupload-process"></span>
            </div>
        </div>
        <div class="fileupload-content">
            <table class="table table-striped"><tbody class="files"></tbody></table>
            <div class="fileupload-progressbar"></div>
        </div>
    </form>
</div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.6/js/vendor/jquery.ui.widget.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.6/js/jquery.fileupload.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.6/js/jquery.fileupload-process.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.6/js/jquery.fileupload-image.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.6/js/jquery.fileupload-validate.js"></script>
//JS代码
$(function() {
    $('#fileupload').fileupload({
        dataType: 'json',
        autoUpload: true,
        done: function(e, data) {
            $.each(data.result.files, function(index, file) {
                $('<p/>').text(file.name).appendTo('#files');
            });
        },
        progressall: function(e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .progress-bar').css('width', progress + '%');
        }
    }).prop('disabled', !$.support.fileInput).parent().addClass($.support.fileInput ? undefined : 'disabled');
});

2. 图片预览删除功能

2.1 使用FileReader API实现图片预览

通过使用FileReader API可以实现在选中图片后能够在客户端进行图片预览的功能。具体实现步骤如下:

1.监听input file的change事件;
2.通过FileReader对象读取选中图片数据;
3.将图片数据赋值给img标签的src属性进行预览。

示例代码:

<!--HTML代码-->
<input type="file" id="file">
<img id="preview">

<script>
//JS代码
document.getElementById('file').addEventListener('change', function() {
    var file = this.files[0];
    var reader = new FileReader();
    reader.onload = function(e) {
        document.getElementById('preview').setAttribute('src', e.target.result);
    }
    reader.readAsDataURL(file);
});
</script>

2.2 使用第三方插件实现图片预览删除

也可以使用第三方插件Zoomify,它可以实现图片的预览、放大、缩小、旋转等操作,并且带有删除图片的功能,使用起来也比较简单明了。使用步骤:

  • 引入Zoomify插件及其样式文件;
  • 在HTML中添加相应的DOM结构;
  • 在JS中初始化插件。

示例代码:

<!--HTML代码-->
<input type="file" id="file">
<div id="zoomify"></div>

<link rel="stylesheet" href="zoomify.css">
<script src="jquery.js"></script>
<script src="zoomify.js"></script>
//JS代码
$(document).ready(function() {
    $('#zoomify').zoomify({
        path: $('#file').val(),
        zoomIn: 'btn-plus.png',
        zoomOut: 'btn-minus.png',
        rotateLeft: 'btn-rotate-left.png',
        rotateRight: 'btn-rotate-right.png',
        deleteImage: true, 
        deleteCallback: function() {
            alert('图片删除成功!');
        }
    });
});

以上是关于input file样式修改以及图片预览删除功能的详细攻略,希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:input file样式修改以及图片预览删除功能详细概括(推荐) - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 基于JavaScript 类的使用详解

    基于 JavaScript 类的使用详解 JavaScript 的 Class 定义是一种专门为对象的构建提供的语法糖。在ES6之前,JavaScript没有类(class)的概念,只能通过构造函数和原型对象来实现。 类的定义和语法 定义一个类可以使用 class 关键字,后面跟着类名和一对大括号 {}。 大括号内部可以定义类的属性和方法。使用 constr…

    JavaScript 2023年5月18日
    00
  • JavaScript引入方式深入解读

    JavaScript引入方式深入解读 想要在网页中使用JavaScript,我们需要将JavaScript代码引入到网页中。JavaScript有三种引入方式:内嵌、外部引入和异步引入,下面将对这三种引入方式进行详细讲解。 内嵌引入 内嵌引入是将JavaScript代码直接嵌入到HTML代码中,使用<script>标签将JavaScript代码包…

    JavaScript 2023年5月27日
    00
  • javascript格式化日期时间方法汇总

    下面我为大家详细讲解一下“javascript格式化日期时间方法汇总”的完整攻略。 1. 引言 在前端的工作中,日期时间格式转换是一个十分常见的问题。因此,有必要总结一下javascript中处理日期时间的API和格式化日期的方法,以便于在工作中快速有效地使用。 2. Date对象 在javascript中,我们可以使用内置的Date对象来处理日期时间。Da…

    JavaScript 2023年5月27日
    00
  • 监控 url fragment变化的js代码

    监控URL Fragment变化的JavaScript代码是很常见的一种需求,可以轻松地在单页应用程序(SPA)中实现页面的切换和跳转。以下是实现该需求的攻略: 步骤一:绑定Window对象的hashchange事件 我们可以通过绑定Window对象的hashchange事件来捕捉URL Fragment变化事件。这个事件会在Fragment的值发生变化时被…

    JavaScript 2023年6月11日
    00
  • BootstrapTable与KnockoutJS相结合实现增删改查功能【二】

    下面是关于 BootstrapTable 与 KnockoutJS 相结合实现增删改查功能的攻略,包含以下几个部分: 确认基本配置 初始化 BootstarpTable 和 KnockoutJS 实现增删改查功能 1. 确认基本配置 在开始之前,我们需要确认以下几点: 页面中需要引入 Bootstrap 和 jQuery 库。 在页面中引入 Knockout…

    JavaScript 2023年6月10日
    00
  • Javascript Web Worker使用过程解析

    Javascript Web Worker使用过程解析 什么是Web Worker? Web Workers是HTML5提出的一项新技术,它是一种运行在后台线程的JavaScript,它允许长时间运行的脚本或计算任务不会影响用户界面的性能或响应性。也就是说,JavaScript代码的处理可以交由浏览器的后台线程中处理,以便在不影响主线程UI的情况下,加速运算…

    JavaScript 2023年5月28日
    00
  • JS 日期操作代码,获取当前日期,加一天,减一天

    JS是一种强大而灵活的脚本语言,用来操作日期也很简单。下面是获取当前日期、加一天、减一天的完整攻略。 获取当前日期 获取当前日期很简单,使用JS内置对象Date即可。 var today = new Date(); console.log(today); 上述代码会输出当前日期的完整信息,包括年月日、时分秒和时区等详细信息。 输出结果示例: Tue Aug …

    JavaScript 2023年5月27日
    00
  • 设置cookie指定时间失效(实例代码)

    设置 cookie 失效时间是保持 Web 应用程序状态的关键技术之一。下面是如何在 PHP 中设置指定时间失效的 cookie 的完整攻略: 步骤 1:创建 cookie 要在 PHP 中设置 cookie,可以使用 setcookie() 函数。该函数的语法如下: setcookie(name, value, expire, path, domain, …

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部