美化文件上傳按鈕自定義input file樣式

input file的樣式不能直接用css來美化,咱們能夠曲線救國,把input file的透明度下降爲0,至關於把這個控件隱藏了,實際上只是透明度爲0,仍是存在的,而後把div套上去,讓div充當file的按鈕。css

clipboard.png

因此這個辦法很簡單,可是,把input file的透明度下降,連選擇文件後的文件名也被隱藏了,這下可怎麼辦?那就只能用jquery獲取file的文件名了。html

<!DOCTYPE html>
<html>
<head>
    <title>文件上傳file美化</title>
    <style type="text/css">
    *{margin:0;padding: 0;}
        #btn{
            width: 120px;
            height: 45px;
            background: #39f;
            line-height: 45px;
            text-align: center;
            color: #fff;
        }

        #btn .file{
            opacity: 0;
            position: relative;
            top: -56px;
            width: 100%;
            height: 45px;
        }
    </style>
</head>
<body>

<!-- 用一個div來看成美化的上傳按鈕,file按鈕被透明化 -->
<div id="btn">
文件上傳
<input type="file" class="file" onclick="daojishi()">
</div>

<!-- 文件名顯示區域 -->
<div id="filename"></div>

<script src="https://www.jq22.com/jquery/jquery-3.3.1.js"></script>
<!-- 輪詢文件名 -->
<script>
    function daojishi() {
        setInterval("getname()",1000);
    }
</script>

<!-- 獲取文件名 -->
<script>
    function getname() {
        var filename = $("#btn .file").val();
        $("#filename").text(filename);
    }
</script>

</body>
</html>

搞定!jquery

clipboard.png

做者:TANKING
網站:http://www.likeyunba.com網站

相關文章
相關標籤/搜索