实现好看的文件选择按钮

news/2024/11/16 18:51:27/

实现好看的文件选择按钮

    • 引言
    • 思路
    • 工程
      • 1、建HTML
      • 2、CSS描述
      • 3、JS动作

引言

网页设计中默认的文件路径输入框,即file控件,由于其外观太朴素,也无法很难改变其属性特征,想隐藏路径名称也不行。但是我们可以通过巧妙的方法改成自己想要的样子。


思路

  • 如果没有直接改变的好方法,我们可以尝试扬长避短的来绕过其外观短处,只使用我们需要的功能
    部分。
  • 这里我将用自定义的按键来替换其外观,而file控件,我将其隐藏掉。它虽然被隐藏了,但是其功能仍在。
  • 开始动手。

工程

1、建HTML

HTML文件选择部分实例建下面代码。

  • button(btn)为我的按键控件,给大家显示和点击使用的。
  • file(file)是我们要利用的文件路径导入控件,他有个onchange事件触发,可以在JS中定义描述。
<div id="inputLine"><form action="" method="post" name="form1"><input type="button" class="btn" id="choosefile" value="选择文件" /><input type="file" class="file" id="LoadFile" onchange="doLoadFile()" multiple="multiple" /></form>
</div>

2、CSS描述

  • 首先,描述按键外观,这里我简单加几条描述,如有需要自行修改。
  • 其次,最为关键的是将file控件隐藏,这个是最关键的,通过ID或者class,都行。下面是通过ID定义为不显示,这样可以预览到你的界面就只有一个按键了。
.btn {/* 倒圆角 */border-radius: 6px;/* 外边缘 */margin: 0.5rem 0;	 /* 背景颜色 */background-color: #008CBA;/* 字体颜色 */color: #eaeaea; /* 鼠标经过变小手 */cursor: pointer;	 
}/* 隐藏 */
#LoadFile {display: none;
}

3、JS动作

那么,我们只留下了最后一个关键的问题,就是如何将两个控件联系起来。这时候,JS就要闪耀出场了,它是当之无愧的动作大师。

  • 1、choosefile的点击事件可以进入choosefile.onclick = function() 功能函数。
  • 2、在choosefile.onclick = function() 功能函数中,我们有定义获取file控件对象并执行器单击事件,只要执行到这时,我们的file控件将弹出文件路径选择框。
  • 3、只要我们选择了文件,那么文件路径选择file控件将触发其onchange事件,进入到function loadfile()事件功能函数中去,其它具体内容就是具体项目定义了。
  • 4、需要重点注意的是 LF.value 设置为空,这个操作非常重要,相当于初始化它。不然重复加载同一个路径将不会触发onchange事件。
// 按键单击加载文件
choosefile.onclick = function() {//通过id获取file控件对象var LF = document.getElementById('LoadFile');//清除路径LF.value = "";//执行file控件单击事件LF.click();
}//onchange加载文件
function loadfile() {	 doLoadFile();...
}

http://www.ppmy.cn/news/7672.html

相关文章

Java八股文 v2.0(上)

一、Java基础 1. Java有哪些基本数据类型&#xff1f; byte、short、int、long、float、double、char、boolean。 2. Java类型转换。 从小类型到大类型&#xff0c;直接转。 从大类型到小类型&#xff0c;需要在强制类型转换的变量前面加上括号&#xff0c;然后在括号里面…

css中动画之transition

css动画&#xff1a;css属性过渡实现动画 css过渡就是平滑改变css属性值&#xff0c;元素样式从原始样式逐渐过渡到另外一个样式。 1.过渡css属性 2.过渡时长 css的过渡使用transition属性来定义&#xff0c;transition属性的基础语法如下&#xff1a; transition: property d…

学习poi导出excel之XSSFWorkbook

1 基本介绍 POI提供了HSSF、XSSF以及SXSSF三种方式操作Excel。 HSSF&#xff1a;Excel97-2003版本&#xff0c;扩展名为.xls。一个sheet最大行数65536&#xff0c;最大列数256。 XSSF&#xff1a;Excel2007版本开始&#xff0c;扩展名为.xlsx。一个sheet最大行数1048576&…

高校课程知识库系统|基于Springboot+vue实现高校课程知识库在线学校平台

作者主页&#xff1a;编程指南针 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容&#xff1a;Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

BigDecimal详解及注意事项

这里写目录标题BigDecimal简介BigDecimal常用方法创建BigDecimal加减乘除大小比较BigDecimal等值比较问题保留小数位数BigDecimal简介 浮点数之间的等值判断&#xff0c;基本数据类型不能用 来比较&#xff0c;包装数据类型不能用 equals 来判断。BigDecimal 可以实现对浮点数…

特征工程资料整理,如何从数据中挖掘特征

特征工程资料整理&#xff0c;如何从数据中挖掘特征一、特征工程是什么二、探索性数据分析EDA参考资料&#xff1a;1. pandas_profiling【推荐】2. Sweetviz3. pandasgui4.D-tale【推荐】结论三、特征处理参考资料&#xff1a;1. 数值特征⭐️⭐️⭐️⭐️⭐️数值特征小结&…

统计分析工具-FineReport配置SQL Server外接数据库(2)

1. 配置外接数据库 1.1 外接数据库配置入口 外接数据库的配置入口&#xff0c;有三种形式&#xff1a; 1&#xff09;超级管理员第一次登录数据决策系统时&#xff0c;即可为系统配置外接数据库。如下图所示&#xff1a; 2&#xff09;对于使用内置数据库的系统&#xff0c;管…

uni-app的条件编译

条件编译了解 前言&#xff1a; 由于本次业务有 PC 端H5 页面&#xff0c;还有 手机端的H5页面&#xff0c;不同的端&#xff0c;模块展示可能不同&#xff0c;但是大部分功能又是相同的。 如果通过简单的 if…else… 判断不同端&#xff0c;调用相应的 API 或 展示相应的模块…