原生js实现列表渲染及列表单选

css部分:

.picker_header{ display: flex;}
    /*卡列表绑定*/
    .option-picker .option-picker-cell.option:after {content: " ";position: absolute;bottom: 0;left: 1rem; right: 1rem;border-bottom: 1px solid #eee;}
    .goodinfo{padding-left: 0 !important;text-align: center;}
    .card1{
        background: #23ab02a1 !important;
    }
    #picker_card{
        display: none;
    }
    .card_i{padding: 0 !important;}
    .fui-list-angle{width: 20px;height: 20px;}
    .fui-list-angle img{width: 100%;height: 100%;}
    /*绑卡弹框*/
    .fui-dialog {
        background: #fff;
        text-align: center;
        border-radius: 0.35rem;
        padding-top: 0.3rem;
        overflow: hidden;
    }
    .fui-dialog-title {
        padding: .2rem .5rem;
        font-weight: 400;
        font-size: 0.8rem;
    }
    .fui-dialog-text {
        text-align: left;
    }

    .fui-dialog-text {
        padding: .4rem .8rem;
        font-size: 0.75rem;
        color: #888;
    }
    .fui-dialog-btns {
        position: relative;
        line-height: 2rem;
        margin-top: .3rem;
        font-size: 0.8rem;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
    .fui-dialog-btns a {
        position: relative;
    }
    .fui-dialog-btns a {
        display: block;
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        color: #666;
        text-decoration: none;
    }
    .fui-modal.dialog-modal.in {
        opacity: 1;
        -moz-transition-duration: 300ms;
        -webkit-transition-duration: 300ms;
        /* transition-duration: 300ms; */
        /* -webkit-transform: translate3d(0, 0, 0) scale(1); */
        transform: translate3d(0, 0, 0) scale(1);
    }

    .fui-modal.dialog-modal {
        position: absolute;
        z-index: 1001;
        left: 50%;
        margin-left: -6.75rem;
        margin-top: 0;
        top: 50%;
        width: 13.5rem;
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0) scale(1.2);
        transform: translate3d(0, 0, 0) scale(1.2);
        -webkit-transition-property: -webkit-transform, opacity;
        transition-property: transform, opacity;
        height: auto;
    }
    .fui-modal {
        position: absolute;
        width: 100%;
        z-index: 1001;
    }
    .shadow {
        position: fixed;
        background: rgba(0, 0, 0, 0.8) none repeat scroll 0 0;
        width: 100%;
        height: 100%;
        left: 0;
        opacity: 1;
        top: 0;
        z-index: 1000;
        -moz-transition-duration: 400ms;
        -webkit-transition-duration: 400ms;
        transition-duration: 400ms;
    }
    #shadow{
        display: block;
    }

 

HTML部分:

<!--银行卡弹框-->
<div class="fui-modal picker-modal in" id="picker_card"><div class="option-picker " style="height: 583.6px;">
        <div class="option-picker-inner">
            <div class="option-picker-cell goodinfo picker_header">
                <div class="closebtn" οnclick="selectHidePicker1()"><i class="icon icon-guanbi1"></i></div>
                <div class="info info-total" style=" margin-left: 0.15rem; flex: 1;">请选择银行卡</div>
            </div>
            <div class="option-picker-options" style="height: 482.6px;">
                <div class="option-picker-cell option spec">
                    <div class="select" id="select111">

                    </div>
                </div>
            </div>
            <div style="z-index: 2; background: #fb9a09;" class="fui-navbar " >
                <a href="javascript:;" class="nav-item btn confirmbtn" style="background: #fb9a09;"  οnclick="selectHidePicker()">确定</a>
            </div>
        </div>
     </div>
</div>

<!--    判断云卡绑定弹框-->
    <div class="shadow" id="shadow">
        <div class="fui-modal  dialog-modal in">
            <div class="fui-dialog  fui-dialog-confirm" style="margin-top: -67px;">
                <div class="fui-dialog-title">提示</div>
                <div class="fui-dialog-text">请先开户再绑定银行卡!</div>
                <div class="fui-dialog-btns">
                    <a class="" href="javascript:;" οnclick="selectHidePicker1()">取消</a>
                    <a class="" href="index.php?i=1&c=entry&m=ewei_shopv2&do=mobile&r=chan" οnclick="selectHidePicker1()">去开户</a>
                </div>
            </div>
        </div>
    </div>

 

JS部分:

<script>
    var obj = [
        {
            name: '中国建设银行',
            card_id: '621700713001741220',
            id: 1,
        },
        {
            name: '中国工商银行',
            card_id: '2317007130001741222',
            id: 3,
        }, {
            name: '中国浦发银行',
            card_id: '3267007130001741125',
            id: 2,
        }, {
            name: '贵阳银行',
            card_id: '456007130001741234',
            id: 5,
        },
    ];
    var card_id;//定义被选中卡的id
    function selectHidePicker1(){//关闭弹框
        $("#picker_card")[0].style.display = 'none';
        $("#shadow")[0].style.display = 'none';
    };
    function selectObj(id) {
        card_id = id;
        let objImage = "card_image"+id;
        let imgObj = $('#select111').find("img");//查找#select111下所有img标签
        $.each(imgObj,function(k,v){
            let imgid = imgObj[k].id;
            if(imgid == objImage){
                $("#"+imgid).attr('src','../addons/ewei_shopv2/static/images/manager/z-choose.png');
            }else {
                $("#"+imgid).attr('src','../addons/ewei_shopv2/static/images/manager/q-choose.png');
            }
        })
        console.log('card_id',card_id)
    };
    function  openCard() {
        $("#picker_card")[0].style.display = 'block'
          //向后台请求数据并做出逻辑判断
        $.ajax({
            method:'POST',
            url:'',
            datatype:'json',
            data:'',
            success:function (res){
                console.log(res)
            }
        })

         rendering(obj);
    };


    function selectHidePicker(){//确定提交
          if(card_id){
              //    向后台请求支付的银行卡
              console.log(card_id)
              /*$.ajax({
                  method:'POST',
                  url:'',
                  datatype:'json',
                  data:'',
                  success:function (res){
                      console.log(res)
                      browserRedirect()
                  }
              })*/
              browserRedirect()
          }else {
              FoxUI.toast.show('您还没有选择银行卡!');
          }


    }
//    解析列表并渲染
    function rendering(dataList) {
        let arrayLists = '' ;
        for (let item=0;item<dataList.length;item++){
            arrayLists +=
                `
                <div class='fui-list card_i' data-type='credit' οnclick="selectObj(${dataList[item].id})">
                        <div class='fui-list-media'>
                            <i class='icon icon-card012 credit card1' style="color:#fb9a09"></i>
                        </div>
                        <div class='fui-list-inner'>
                            <div class="title">${dataList[item].name}</div>
                            <div class="subtitle c999 f24"><span class='text-danger'>${dataList[item].card_id}</span>
                            </div>
                        </div>
                        <div class='fui-list-angle'>
                            <img id="card_image${dataList[item].id}" src="../addons/ewei_shopv2/static/images/manager/q-choose.png" alt="">
                        </div>
                    </div>
                `
        };
        $("#select111")[0].innerHTML = arrayLists
    };
    //路由跳转判断移动端还是pc端
    function browserRedirect() {
        var sUserAgent= navigator.userAgent.toLowerCase();
        var bIsIpad= sUserAgent.match(/ipad/i) == "ipad";
        var bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os";
        var bIsMidp= sUserAgent.match(/midp/i) == "midp";
        var bIsUc7= sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
        var bIsUc= sUserAgent.match(/ucweb/i) == "ucweb";
        var bIsAndroid= sUserAgent.match(/android/i) == "android";
        var bIsCE= sUserAgent.match(/windows ce/i) == "windows ce";
        var bIsWM= sUserAgent.match(/windows mobile/i) == "windows mobile";
        if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
            window.location.href= 'index.php?i=1&c=entry&m=ewei_shopv2&do=mobile&r=order.pay.success&id=39&result=true';//手机端跳转页面URL
        } else {
            window.location= 'index.php?i=1&c=entry&m=ewei_shopv2&do=mobile&r=order.pay.success&id=39&result=true';//PC端跳转页面URL
        }
    }
</script>

文中用到的图片:

转载于:https://www.cnblogs.com/Dark-fire-liehuo/p/11579065.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值