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

yizhihongxing

下面是详细的攻略:

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 的多线程模型中,主线程(也称为 UI 线程)是唯一的线程,负责执行 JavaScript 代码、渲染页面,以及处理用户交互事件等任务。由于 JavaScript 是单线程执行的,因此它的处理能力是有限的。当某个耗时的任务需要执行时,主线程就会被阻塞,页面就会失去响应,用户体验也会受到影响。为了解决这个问…

    JavaScript 2023年5月28日
    00
  • js播放wav文件(源码)

    下面是使用JavaScript播放WAV文件的攻略及示例: 前置条件 播放WAV文件需要浏览器支持Web Audio API,因此在进行下一步操作的前提条件是您的浏览器支持Web Audio API。 步骤一:创建一个AudioContext对象 在使用Web Audio API播放声音之前,必须先创建一个AudioContext对象。代码如下: let c…

    JavaScript 2023年5月27日
    00
  • Java 正则表达式学习总结和一些小例子

    Java 正则表达式学习总结和一些小例子 正则表达式是用于字符串匹配和替换的一种表达式语言。Java 中使用 java.util.regex 包来实现正则表达式。这篇文章将会总结 Java 正则表达式的常见语法和使用方法,并且提供一些示例代码来说明这些概念。 Java 正则表达式语法 Java 正则表达式的语法相对复杂,但它也为我们提供了强大的功能和灵活性。…

    JavaScript 2023年6月10日
    00
  • JavaScript第一个分水岭之数组的基本操作

    JavaScript中的数组是一种非常常用的数据结构,可以用于存储和操作一组数据。学会数组的基本操作是学习JavaScript的第一个重要分水岭。下面是一份完整的攻略,包括数组的基本操作和示例说明。 创建数组 可以使用以下两种方式来创建一个数组: 直接创建 可以使用方括号来直接创建一个数组,数组中的元素使用逗号分隔。 var arr = [1, 2, 3, …

    JavaScript 2023年5月27日
    00
  • 转义字符(\)对JavaScript中JSON.parse的影响概述

    “转义字符(\)对JavaScript中JSON.parse的影响概述”攻略: 在JavaScript中,可以使用JSON.parse方法将JSON字符串转换成JSON对象。但是,在某些情况下,JSON字符串中的特殊字符可能会导致转换失败。为了解决这个问题,我们可以使用转义字符来处理特殊的字符。 转义字符的作用 转义字符是一种特殊的字符,用于处理在JSON字…

    JavaScript 2023年5月27日
    00
  • ES6入门教程之let、const的使用方法

    ES6入门教程之let、const的使用方法 let和const的概念 ES6之前,我们只能用 var 关键字来定义变量。在 ES6 中,我们可以使用 let 和 const 来定义变量和常量。 一般情况下,我们使用 let 来定义变量。const 则主要用于定义常量,一旦定义后就不能被重新赋值了。 let的使用方法 使用 let 关键字定义变量,可以避免很…

    JavaScript 2023年6月11日
    00
  • js调试工具 Javascript Debug Toolkit 2.0.0版本发布

    JavaScript Debug Toolkit是一款网页开发调试工具,使用它可以帮助开发者快速定位及解决网页中的错误。下面是使用JavaScript Debug Toolkit的完整攻略。 安装 为了使用JavaScript Debug Toolkit,你需要将它下载到本地。你可以从GitHub上下载JavaScript Debug Toolkit的最新版…

    JavaScript 2023年6月11日
    00
  • 获取IE浏览器Cookie信息的方法

    获取IE浏览器Cookie信息的方法主要需要通过Windows API来实现,具体步骤如下: 获取IE浏览器Cookie信息的方法 1. 通过Windows API获取IE浏览器Cookie信息 使用Windows API可以获取IE浏览器的Cookie信息,具体步骤如下: a. 使用“InternetGetCookieEx”函数获取指定URL地址下的Coo…

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