手机版

js实现文件上传表单域美化特效

时间:2021-09-28 来源:互联网 编辑:宝哥软件园 浏览:

一款效果非常时尚的文件上传表单域美化特效,下面给出制作的简要教程。

先上几个效果饱饱眼福:

使用方法这些文件上传域的美化使用的方法都是隐藏原生的输入类型="文件"元素,然后使用一个标签元素来制作美化效果HTML。结构

该文件上传域美化效果最基本的超文本标记语言结构如下:

输入类型='文件'名称='文件id='文件'类别='输入文件'/标签为='文件'选择一个文件/标签半铸钢钢性铸铁(Cast Semi-Steel)样式

首先需要隐藏投入元素。这里不能使用显示器:无或隐藏的可见性:来隐藏它,因为这样做只后,输入元素里的值不会被上传到服务器端,而且按拉环键时这个投入元素也不会被找到。隐藏的方法如下:input file { width : 0.1 px h8 : 0.1 pxo pa city 3360 0;飞越:隐藏;绝对位置:z指数:-1;} 接下来给标签元素设置样式。这里要将标签元素制作为一个按钮的样式。输入文件标签{ font-size : 1.25 em字体粗细: 700;颜色:白色;背景-颜色:黑色;显示器:内联块;} .inputfile:focus标签,输入文件标签:悬停{背景色:红色;} 当鼠标滑过标签时需要将光标显示为一个小手的形状。输入文件标签cursor:指针;/*"手"光标*/}为了制作可以使用键盘导航的效果,需要添加下面的代码。输入文件:焦点标签{ outline: 1px虚线# 000;轮廓:-网络套件-焦点-戒指-彩色自动5px}-WebKit-聚焦-环形-彩色自动5px可以在铬合金,歌剧和旅行队浏览器中获取默认的边框外观。

如果你使用了类似快速点击(一个在移动触摸设备上消除300毫秒点击暂停的工具库),并且你需要添加一些文本标签,那么按钮将不会正常工作,除非设置了指针事件:无。

="文件"的标签强烈的选择文件/strong/标签输入文件.标签* { pointer-events 3360无;}JavaScript

最后需要做的事情是标识用户选择了哪些文件。原生的文件上传域是有这个功能的,但是这里使用的是虚拟的按钮。特效中使用爪哇岛描述语言来实现这个功能。

输入类型=' file ' name=' file ' id=' file ' class=' input file ' data-multi-caption=' { count } files selected ' multi/var inputs=document。queryselectorall(' .输入文件');数组。原型。foreach。调用(输入,函数(输入){ var label=input。nextelementsible,labelVal=label . innerhtml input . addeventlistener(' change ',function(e){ var FIlename=' ';如果(这个。把这个归档。文件。长度1)FIlename=(这个。GetAttribute('数据-多标题' | | ').替换(“{count}”,这。文件。长度);else FIlename=e . target。价值。拆分(' \ \ ').pop();if(fileName)标签。queryselector(' span ').innerHTML=filenamelelse label . innerHTML=label val });});浏览器禁用Java脚本语言的处理

如果浏览器禁用了JavaScript,那么只有使用原生的文件上传域组件。我们需要做的事情是在超文本标记语言元素上添加一个。不js的同学们,然后使用爪哇岛描述语言来替换它。

html class='no-js' head!-如果使用Modernizr - script(函数(e,t,n){ var r=e . queryselectorall(' html '[0]),请删除此选项;r.classname=r.classname.replace(/(^|\s)no-js(\s|$)/,'$1js$2')})(document,window,0);/脚本/标题/html .js .input file { width : 0.1 px h8 : 0.1 pxo pa city 3360 0;飞越:隐藏;绝对位置:z指数:-1;} .没有js .输入文件标签{ display: none}以上就是射流研究…实现文件上传表单域美化特效,希望对大家的学习有所帮助。

版权声明:js实现文件上传表单域美化特效是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。