zoukankan      html  css  js  c++  java
  • h5使用模块模板,循环输出模块列表

    博主使用freemarker为框架,不过不影响功能的说明,首先来看看成品效果图

    然后是html

    [#import "/common/layout.ftl" as layout]
    
    [@layout.head title="支付页"]
    <link rel="stylesheet" href="/assets/css/chrematistics/gaohuitongDeposit.css">
    
    
    [/@layout.head]
    
    [@layout.body]
        <div class="container funding--container">
            <div id="title-msg" >
                <div id ="rule-msg">
                    <img src="./assets/images/chrematistics/mark.png" />
                    <label class="mon1-detals">美国反洗钱法要求到账起60天内不可取款</label> 
                </div>
                <div id ="card-msg">
                    <img src="./assets/images/chrematistics/pay_icon.png" />
                    <label class="mon1-detals">使用中国境内银行卡安全支付</label> 
                </div>
            </div>
            
            <div id="bankcards" >
                    <lu class="bankcard-layout">
                        <li id={$bankinfoid} class={$display} value={$bankdata} >
                            <div class="bankcard-icon-div">
                               <img src={$bankcardIcon} />
                            </div>
                            <div class="column-info">
                                    <p class="bank-name">{$name}</p>
                                    <p class="bank-num">
                                      {$number}
                                    </p>
                             </div>
                             <div class="bankcard-goin-div">
                                <img id ="bankcard-goin" src="./assets/images/chrematistics/bankcard_right.png" />
                             </div>
                        </li>
                    </lu>
                    <div id="footer">
                        <div class="bankcard-item-add">
                            <img src="./assets/images/chrematistics/bankcard_pay_new.png" />
                            <span class="bank-add-msg">使用新卡</span>       
                        </div>
                    </div>
            </div>
        </div>
    <script src="../../project-h5/intoGold/js/zepto.min.js"></script>
    <script src="../../project-h5/common/js/bridge.js"></script>
    <script src="/assets/js/common/public.js"></script>
    <script src="/assets/js/chrematistics/gaohuitongDeposit.js"></script>
    [/@layout.body]

    css:

    /* http://meyerweb.com/eric/tools/css/reset/ 
       v2.0 | 20110126
       License: none (public domain)
    */
    
    html,
    body,
    div,
    span,
    applet,
    object,
    iframe,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    blockquote,
    pre,
    a,
    abbr,
    acronym,
    address,
    big,
    cite,
    code,
    del,
    dfn,
    em,
    img,
    ins,
    kbd,
    q,
    s,
    samp,
    small,
    strike,
    strong,
    th,
    sub,
    sup,
    tt,
    var,
    b,
    label,
    u,
    i,
    center,
    dl,
    dt,
    dd,
    ol,
    ul,
    li,
    fieldset,
    form,
    label,
    legend,
    table,
    caption,
    tbody,
    tfoot,
    thead,
    tr,
    th,
    td,
    article,
    aside,
    canvas,
    details,
    embed,
    figure,
    figcaption,
    footer,
    header,
    hgroup,
    menu,
    nav,
    output,
    ruby,
    section,
    summary,
    time,
    mark,
    audio,
    video {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 100%;
        font: inherit;
        vertical-align: baseline;
    }
    
    
    /* HTML5 display-role reset for older browsers */
    
    article,
    aside,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    menu,
    nav,
    section {
        display: block;
    }
    
    body {
        line-height: 1;
    }
    
    ol,
    ul {
        list-style: none;
    }
    
    blockquote,
    q {
        quotes: none;
    }
    
    blockquote:before,
    blockquote:after,
    q:before,
    q:after {
        content: '';
        content: none;
    }
    
    table {
        border-collapse: collapse;
        border-spacing: 0;
    }
    
    * {
        -webkit-tap-highlight-color: transparent;
        -webkit-touch-callout: none;
    }
    
    hr {
        border: none;
        border-bottom: 1px solid #e4e5e7;
        margin: 0.92308em 0;
    }
    
    @media (min- 750px) {
        hr {
            margin: 3.07692em 0;
        }
    }
    
    html {
        font-size: 13px;
    }
    
    @media (min- 750px) {
        html {
            font-size: 14px;
        }
    }
    
    @media (min- 970px) {
        html {
            font-size: 16px;
        }
    }
    
    @media (min- 1170px) {
        html {
            font-size: 16px;
        }
    }
    
    body,
    input[type="text"],
    input[type="email"],
    input[type="number"],
    input[type="password"],
    input[type="range"],
    input[type="search"],
    input[type="tel"],
    textarea,
    select,
    .checkbox,
    .radio {
        font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
        color: #798088;
        line-height: 1.5;
        font-weight: 400;
        -webkit-font-smoothing: antialiased;
    }
    
    body {
        background-color: #f8f8f9;
    }
    
    ::-moz-selection {
        background: #C0C8D2;
        color: white;
    }
    
    ::selection {
        background: #C0C8D2;
        color: white;
    }
    
    .single-line {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }
    
    b,
    label,
    strong,
    th {
        color: #60666c;
        font-weight: 700;
    }
    
    small {
        font-size: 0.92308em;
        color: #93999f;
    }
    
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        color: #484c51;
        line-height: 1.3;
        margin-top: 1.07692em;
        margin-bottom: 0.46154em;
        -webkit-font-smoothing: subpixel-antialiased;
    }
    
    h1.-no-top-spacing,
    h2.-no-top-spacing,
    h3.-no-top-spacing,
    h4.-no-top-spacing,
    h5.-no-top-spacing,
    h6.-no-top-spacing {
        margin-top: 0;
    }
    
    h1 {
        font-size: 1.84615em;
        font-weight: 300;
        color: #303336;
    }
    
    h2 {
        font-size: 1.38462em;
    }
    
    h3 {
        font-size: 1.23077em;
    }
    
    h4 {
        font-size: 1.07692em;
    }
    
    h5 {
        font-size: 1em;
    }
    
    h6 {
        font-size: 0.92308em;
        text-transform: uppercase;
    }
    
    @media (min- 750px) {
        h1 {
            font-size: 2.76923em;
        }
        h2 {
            font-size: 2em;
        }
        h3 {
            font-size: 1.69231em;
        }
        h4 {
            font-size: 1.46154em;
        }
        h5 {
            font-size: 1.23077em;
        }
        h6 {
            font-size: 1.07692em;
            text-transform: uppercase;
        }
    }
    
    p {
        margin: 0.61538em 0;
    }
    
    a {
        color: #3FBA9A;
        text-decoration: none;
        font-weight: 700;
        cursor: pointer;
    }
    
    a:hover {
        text-decoration: underline;
    }
    
    ul,
    ol {
        margin: 0.61538em 0;
        padding-left: 0.53846em;
    }
    
    ul li {
        list-style-type: disc;
        margin: 0 0;
    }
    
    ol li {
        list-style-type: decimal;
        margin: 0 0;
    }
    
    code {
        background-color: #f8f8f9;
        border: 1px solid #ebebec;
        padding: 0.30769em 0.46154em;
        border-radius: 4px;
        font-family: monospace;
        font-size: 0.92308em;
        color: #54595f;
    }
    
    pre code {
        display: block;
    }
    
    pre {
        margin: 0.92308em 0;
    }
    
    input,
    textarea,
    keygen,
    select,
    button {
        font-size: 1em;
    }
    
    header {
        background-color: #FEC109;
        color: #fff;
        position: relative;
    }
    
    header .logo {
        float: left;
        text-indent: -9999px;
    }
    
    header nav {
        width: 100%;
        width: calc(100% + 1.53846em);
        margin-left: -0.76923em;
        background-color: #e4ad08;
        max-height: 0;
        overflow: hidden;
        -webkit-transition: 0.3s ease max-height;
        transition: 0.3s ease max-height;
    }
    
    header nav ul {
        padding: 0.61538em 0;
        margin: 0;
    }
    
    header nav li {
        margin: 0;
        padding: 0;
    }
    
    header nav a {
        color: #fff4d4;
        text-decoration: none;
        font-size: 1.07692em;
        display: block;
        padding: 0.42857em 0.76923em;
        text-align: center;
    }
    
    header nav a.btn {
        margin: 0.30769em 0.76923em;
        width: auto;
    }
    
    @media (min- 750px) {
        header nav {
            width: 100%;
            margin: 0;
            background-color: transparent;
            max-height: none;
            -webkit-transition: none;
            transition: none;
            position: absolute;
            top: 0;
            height: 4rem;
            text-align: right;
        }
        header nav ul {
            padding: 0;
        }
        header nav li {
            display: inline-block;
            line-height: 4rem;
        }
        header nav a {
            font-size: 1em;
            display: inline-block;
            padding-top: 0;
            padding-bottom: 0;
        }
        header nav a.btn {
            margin: 0;
            padding: 0.66667em 1.2em;
            line-height: 1.5;
            vertical-align: baseline;
        }
    }
    
    @media (min- 750px) {
        header:after {
            content: "";
            display: table;
            clear: both;
        }
        header .logo {
            float: left;
        }
        header nav {
            float: right;
        }
    }
    
    #title-msg {
        width: 100%;
        text-align: center;
    }
    
    #rule-msg {
        width: 100%;
        height: auto;
        padding: 15px 0;
        font-size: 14px;
        color: #666666;
        background: #f2e2cb;
        text-align: center;
        margin: 0 auto;
    }
    
    #rule-msg label {
        vertical-align: middle;
        font-size: 12px;
        color: #f36d00;
    }
    
    #rule-msg img {
        height: 12px;
        vertical-align: middle;
    }
    
    #card-msg {
        width: 100%;
        padding: 15px 0;
        font-size: 14px;
        color: #666666;
        text-align: center;
        margin: 0 auto;
    }
    
    #card-msg label {
        vertical-align: middle;
        font-size: 14px;
        color: #666666;
    }
    
    #card-msg img {
        height: 18px;
        vertical-align: middle;
    }
    
    .bankcard-layout {
      }
    
    #bankcard-item-default {
    
    }
    
    #bankcard-icon {
        float: left;
        width: 40px;
        height: 40px;
        padding-top: 22px;
    }
    
    .column-info {
        width: 76%;
        height: auto;
        text-align: left;
        padding-top: 22px;
        padding-bottom: 22px;
    }
    
    #bankcard-goin {
        float: right;
        width: 12px;
        padding-top: 22px;
    }
    
    .horizontalcenter.show{
        height: 100px;
        width: 80%;
        padding-right: 16px;
        padding-left: 16px;
        text-align: center;
        margin: 0 auto;
        background: -webkit-linear-gradient(left, #45bbff, #4da0fc);
        border-radius: 10px;
        margin-bottom: 20px;
    
        display: -moz-box;
        display: -webkit-box;
        display: -o-box;
        display: box;
        -moz-box-pack: justify;
        -webkit-box-pack: justify;
        -o-box-pack: justify;
        box-pack: justify
    }
    
    .horizontalcenter.hidden{
        display: none;
    }
    
    .bank-name{
        color: #fff;
        size: 15px;
        padding-bottom: 6px;
        margin-right: 30px;
        margin-left: 12px;
        border-bottom: 1px solid #fff;
    }
    .bank-num {
        color: #fff;
        size: 15px;
        margin-left: 12px;
    }
    
    .bankcard-item-add {
        width: 80%;
        height: 100px;
        padding-right: 16px;
        padding-left: 16px;
        text-align: center;
        margin: 0 auto;
        background: #fff;
        border-radius: 10px;
        border: 1px solid #e4e5e7;
        line-height: 100px;
    }
    
    .bankcard-item-add img {
        width: 6%;
        display: inline-block;
        position: relative;
        top: 6px;
    }
    .bankcard-icon-div img{
        width: 50px;
        margin-top: 20px;
    }
    .bankcard-item-add p {
        display: inline-block;
    }
    .bankcard-item-add span{
        color: #009dff;
    }
    #footer{
        margin-top: 20px;
    }

    js:

    (function (window) {
        //canvas and register
        var bankcardItemAdd, bankcards, bankcardLayout, bankcardIcon, bankName, bankNum, userId, token,saveMoney, template,dataList;
    
    
        var parseDom = function () {
            bankcardItemAdd = document.querySelector('.bankcard-item-add');//添加银行卡布局
            bankcards = document.querySelector('.bankcards');//银行s卡栏
    
            bankcardLayout = $(".bankcard-layout");//默认银行卡栏-带下边距
            template = bankcardLayout.html();
    
            userId = common.GetQueryString("userId");
            token = common.GetQueryString("token");
            saveMoney = common.GetQueryString("saveMoney");
        }
    
    
        function addLoadEvent(func) {
            var oldonload = window.onload;
            if (typeof window.onload != 'function') {
                window.onload = func;
            } else {
                window.onload = function () {
                    oldonload();
                    func();
                }
            }
        }
    
    
        function btnEvent() {
            bankcardItemAdd.addEventListener('tap', function (e) {
                window.location.href = "/addBankCard?userId=" + userId + "&token=" + token;
            });
        }
    
    
        var getUserAssetInfo = function (event) {
            var params = {
                "data": JSON.stringify({
                    //构建数据
                })
            }
            params.data = common.base64ecode(params.data);
            $.ajax({
                type: "post",
                url: "//url",
                data: params,
                async: true,
                success: function (data) {
                    if (!data) {
                        return;
                    }
                     
                    data = typeof(data) == "string" ? JSON.parse(data) : data;
                    if (data.header.respCode == 1) {
                        var form_list;
                        dataList = data.body.bankCardList;
                        template.replace(/{$display}/gi, "horizontalcenter hidden");//设置模板class为隐藏的
    
                        for (key in dataList) {
                            form_list = template;
                            form_list = form_list.replace(/{$display}/gi, "horizontalcenter show ");
                            form_list = form_list.replace(/{$bankinfoid}/gi, "bankcard-item-default-"+key);
                            form_list = form_list.replace(/{$icon}/gi, dataList[key].logoUrl);
                            form_list = form_list.replace(/{$name}/gi, dataList[key].bankName);
                            form_list = form_list.replace(/{$number}/gi, dataList[key].accountNo);
                            form_list = form_list.replace(/{$bankcardIcon}/gi, dataList[key].logoUrl);
                            form_list = form_list.replace(/{$bankdata}/gi, key);
    
                            bankcardLayout.append(form_list);
                            var bankitem = document.getElementById('bankcard-item-default-'+key);
                            bankitem.addEventListener("tap",function(){
                                pay(this.getAttribute("value"));
                            },false);
                        }
                        document.getElementById('{$bankinfoid}').setAttribute("style", "display:none");
                    } else {
                        alert(data.header.errorMsg)
                    }
                },
                error: function (e) {
                    alert("操作失败" + e);
    
                }
    
            })
        }
    
    
        var pay = function (bankdata) {
            //验证密码入口,打开Native代码
            var t = dataList[bankdata];
            var dataSend = {
                "cmd": 'verifyLogined',
                "time": new Date().getTime(),
                "data": {
                    "dialogCheckBean": t,
                    "injectMoney":saveMoney
                }
            };
            if (utilBridge !== undefined) {
                utilBridge.send(dataSend, function (responseData) {
                });
            }
            return;
        }
    
    
        var toPayPag = function () {
            window.location.href = "http://www.baidu.com";
        }
    
    
        var bindListener = function () {
    
            bankcardItemAdd.addEventListener('tap', function (event) {
                var e = event || window.event;
                if (e.stopPropagation) {
                    e.stopPropagation();
                } else {
                    e.cancelBubble = true;
                }
                if (verificationValue)
                    toPayPag();
            }, false);
        }
    
    
        var init = function () {
            parseDom();
            bindListener();
            getUserAssetInfo();
            addLoadEvent(btnEvent);//等到页面内包括图片的所有元素加载完毕后才能执行
        }
        init();
    })(window);//在页面DOM文档加载完成后加载执行的,等效于$(document).ready(function(){...}); 优于window.onload
  • 相关阅读:
    mysql常用数据类型的选择
    mysql常用操作
    phpstorm运行在浏览器中执行php文件报502错误
    (转)PHP中的 抽象类(abstract class)和 接口(interface)
    mysql group by优化
    母函数问题【转】
    组合数学
    网易游戏2011招聘笔试题
    B树
    概率题
  • 原文地址:https://www.cnblogs.com/androiddream/p/5786510.html
Copyright © 2011-2022 走看看