支付寶支付框js代碼


首先要說明原理:

  1.input:text框讓他層級最高,這邊要設置透明度,這樣保證遮蓋的盒子操作的box-shadow能看的到,讓文字的color設為背景色一致,這里設置為白色,在這樣就看不到默認的字了

  2.然后是給一個盒子來存放輸入的框,就是6個虛擬的密碼框,來顯示你輸入的個數

  3.每個密碼框里面另外存放一個小盒子,背景色為黑色,border-radus設為50%,令其為圓形,模擬輸入的密碼

這邊的意思大概這樣,其他需要通過js來操作效果

全部代碼奉上(本文參考http://www.qdfuns.com/notes/13457/2212f3d3af79179f3275dc5b7c0282e3.html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style>
    *{
        margin: 0;
        padding:0;
    }
    .paycontainer{
        margin: 20px 100px;
        background-color: pink;
        position: relative;
    }
    .paypasswordcontainer{
        width: 300px;
        height: 46px;
        font-size: 12px;
        position: absolute;
        color: #ffffff;
        z-index:9;
        opacity:0.2;
        -webkit-user-select: initial; /*取消禁用選擇頁面元素*/
        background-color: #ffffff;
        outline:none;
    }
    .sixpassword{
        width: 300px;
        height: 22px;
        position: absolute;
        top:1px;
        left:1px;
        padding:13px 0;
        cursor: text;
        background: #fff;
        border-radius: 5px;
    }
    .sixpassword i{
        display: inline-block;
        width: 49px;
        height: 22px;
        border-left: 1px solid #cccccc;
        float: left;
    }
    .sixpassword i:first-child{
        border-left:0;
    }
    .sixpassword i.active{
        background: url("https://t.alipayobjects.com/images/rmsweb/T1nYJhXalXXXXXXXXX.gif") no-repeat 60% center;
    }
    .sixpassword b{
        width: 7px;
        height: 7px;
        background-color: #000;
        display: block;
        margin: 7px auto;
        display: none;
        border-radius: 50%;
    }
    .guanbiao{
        width: 48px;
        height: 46px;
        display: block;
        position: absolute;
        display: block;
        left: 0px;
        top: 0px;
        border: 1px solid #00ffff;
        border-radius: 5px;
        box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6) ;
    }
</style>
<body>
    <div class="paycontainer">
        <input type="password" minlength="6" maxlength="6" class="paypasswordcontainer"
               oncontextmenu="return false" onpaste="return false" oncopy="return false"
               oncut="return false" autocomplete="off">
        <div class="sixpassword">
            <i class="active"><b></b></i>
            <i><b></b></i>
            <i><b></b></i>
            <i><b></b></i>
            <i><b></b></i>
            <i><b></b></i>
            <span class="guanbiao"></span>
        </div>
    </div>
    <p></p>
</body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
    $(function(){
        $(".paypasswordcontainer").keyup(function(){
            $input_val=$(this).val();
            $input=$input_val.length;
            for (var x = 0; x <= 6; x++) {
                $("p").html($input);
                if ($input == 0) {
                    $(".sixpassword").find("i").eq(0).addClass("active").siblings("i").removeClass("active");
                    $(".sixpassword").find("b").css({"display": "none"});
                    $(".guangbiao").css({"left": 0});
                }
                else if ($input == 6) {
                    $(".sixpassword").find("b").css({"display": "block"});
                    $(".sixpassword").find("i").eq(5).addClass("active").siblings("i").removeClass("active");
                    $(".guangbiao").css({"left": 5 * 50});
                }else{
                    $(".sixpassword").find("i").eq($input).addClass("active").siblings("i").removeClass("active");
                    $(".sixpassword").find("i").eq($input).prevAll("i").find("b").css({"display":"block"});
                    $(".sixpassword").find("i").eq($input).nextAll("i").find("b").css({"display":"none"});
                    $(".guanbiao").css("left",$input*50);
                }
            }
        })

    })
</script>
</html>
oncontextmenu="return false" onpaste="return false" oncopy="return false" oncut="return false"  //此處是禁止密碼復制粘貼的
autocomplete="off"//讓瀏覽器不自動記錄之前輸入的值,很多時候,需要對客戶的資料進行保密,防止瀏覽器軟件或者惡意插件獲取到

在寫的時候遇到一個問題怎么也搞不定,朋友一句話就把我點醒了"行內塊默認有間距",這個是格式化不了的,只能通過浮動解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM