zoukankan      html  css  js  c++  java
  • 分享一款基于aui框架的图文发布界面

    本文出自APICloud官方论坛,

    感谢论坛版主 川哥哥 分享。

    分享一款基于aui框架的图文发布界面,可以添加多张图可以删除,类似qq空间发布说说,没做服务器后端,只演示前端操作。
    需要用到UIMediaScanner模块

    项目源码:

    <!DOCTYPE html>

    <html>

            <head>

                    <meta charset="utf-8">

                    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>

                    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">

                    <link rel="stylesheet" type="text/css" href="../css/aui.css" />

                    <style>

                            .sm textarea {

                                    color: #979797;

                                    height: 6.4rem

                            }

                            .aui-list {

                                    border-top: none;

                            }

                            @media screen and (-webkit-min-device-pixel-ratio: 1.5) {

                                    .aui-list {

                                            border: none;

                                            background-size: 100% 0px;

                                    }

                            }

                            .aui-list .aui-list-item:active {

                                    background-color: #FFFFFF;

                            }

                            .imglist {

                                    100%;

                                    clear: both;

                                    margin: 1rem auto;

                            }

                            .imglist img {

                                    4rem;

                                    height: 4rem;

                            }

                            .add {

                                    4rem;

                                    height: 4rem;

                                    background: url(../res/add.png) no-repeat;

                                    background-size: 100% 100%;

                                    float: left;

                                    margin-right: 1rem;

                            }

                            .addimg {

                                    float: left;

                                    height: 4rem;

                                    4rem;

                                    margin-right: 1rem;

                                    margin-bottom: 1rem;

                            }

                            .addimg img {

                                    4rem;

                                    height: 4rem;

                            }

                            .addimg .x img {

                                    0.8rem;

                                    height: 0.8rem;

                                    position: relative;

                                    top: -4.4rem;

                                    left: -0.5rem;

                            }

                            /*遮罩层*/

                            .mask {

                                    100%;

                                    height: 100%;

                                    background: rgba(0, 0, 0, .5);

                                    position: fixed;

                                    top: 0;

                                    left: 0;

                                    z-index: 999;

                                    display: none;

                            }

                            .alert {

                                    12rem;

                                    height: 7.42rem;

                                    border-radius: 0.2rem;

                                    background: #fff;

                                    font-size: 0.75rem;

                                    text-align: center;

                                    position: absolute;

                                    left: 50%;

                                    top: 50%;

                                    margin-left: -6rem;

                                    margin-top: -4.2rem;

                            }

                            .alert p:nth-child(1) {

                                    line-height: 5rem;

                                    border-bottom: 1px solid #EBEBEB;

                                    font-size: 0.9rem;

                            }

                            .alert p:nth-child(2) span {

                                    display: inline-block;

                                    49%;

                                    height: 2.4rem;

                                    line-height: 2.4rem;

                                    float: left;

                                    font-size: 0.8rem;

                            }

                            .cancel {

                                    border-right: 1px solid #EBEBEB;

                                    color: #00BB3D;

                            }

                            .sure {

                                    color: #F60;

                            }

    </style>

            </head>

            <body>

                    <header class="aui-bar aui-bar-nav">

                            <a class="aui-btn aui-pull-left"> <span class="aui-iconfont aui-icon-left"></span>  返回</a>

                            <div class="aui-title">

                                    新生指引

                            </div>

                            <a class="aui-pull-right" >发 表</a>

                    </header>

                    <div class="aui-card-list">

                            <div class="aui-content aui-margin-b-15">

                                    <ul class="aui-list aui-form-list">

                                            <li class="aui-list-item">

                                                    <div class="aui-list-item-inner sm">

                                                            <textarea id="sm" placeholder="说点什么吧" ></textarea>

                                                    </div>

                                            </li>

                                            <li class="aui-list-item">

                                                    <div class="imglist">

                                                            <div class="add" onclick="upimg()"></div>

                                                    </div>

                                                    <div class="mask">

                                                            <div class="alert">

                                                                    <p>

                                                                            确定要删除这张图片吗?

                                                                    </p>

                                                                    <p>

                                                                            <span class="cancel">取消</span>

                                                                            <span class="sure">确定</span>

                                                                    </p>

                                                            </div>

                                                    </div>

                                            </li>

                                    </ul>

                                    <ul class="aui-list aui-list-in">

                                            <li class="aui-list-item">

                                                    <div class="aui-list-item-label-icon">

                                                            <i class="aui-iconfont aui-icon-location aui-text-success"></i>

                                                    </div>

                                                    <div class="aui-list-item-inner">

                                                            <div class="aui-list-item-title">

                                                                    地址

                                                            </div>

                                                            <div class="aui-list-item-right">

                                                                    <input type="checkbox" checked class="aui-switch"  id="ts">

                                                            </div>

                                                    </div>

                                            </li>

                                    </ul>

                            </div>

                    </div>

            </body>

            <script type="text/javascript" src="../script/api.js"></script>

            <script type="text/javascript">

                    apiready = function() {

                            $api.fixStatusBar($api.dom('.aui-bar'));

                    };

                    function upimg() {

                            api.actionSheet({

                                    title : '上传照片',

                                    cancelTitle : '取消',

                                    buttons : ['拍照', '相册']

                            }, function(ret, err) {

                                    if (ret) {

                                            getPicture(ret.buttonIndex);

                                    }

                            });

                    }

                    function getPicture(sourceType) {

                            if (sourceType == 1) {

                                    api.getPicture({

                                            sourceType : 'camera',

                                            encodingType : 'png',

                                            mediaValue : 'pic',

                                            allowEdit : false,

                                            saveToPhotoAlbum : false

                                    }, function(ret, err) {

                                            var imgs = $api.dom(".imglist");

                                            var imgList = document.getElementsByClassName("addimg");

                                            if (!ret.data.length) {

                                            } else {

                                                    if (imgList.length >= 6) {

                                                            api.toast({

                                                                    msg : '不能再添加啦',

                                                                    duration : 3000,

                                                                    location : 'bottom'

                                                            });

                                                    } else {

                                                            var dcc = document.createElement("div");

                                                            dcc.setAttribute("class", "addimg");

                                                            dcc.setAttribute("onclick", "yichu(this)");

                                                            dcc.innerHTML = '<div onclick="yichu(this)"><img src="' + ret.data + '"/><div class="x" ><img src="../res/x.png"/></div></div>';

                                                            prependChild(dcc, imgs)

                                                    }

                                            }

                                    });

                            } else if (sourceType == 2) {

                                    var obj = api.require('UIMediaScanner');

                                    obj.open({

                                            type : 'picture',

                                            column : 4,

                                            max : 6,

                                            classify : true,

                                            sort : {

                                                    key : 'time',

                                                    order : 'desc'

                                            },

                                            texts : {

                                                    stateText : '已选择*项',

                                                    cancelText : '取消',

                                                    finishText : '完成'

                                            },

                                            styles : {

                                                    bg : '#fff',

                                                    mark : {

                                                            icon : '',

                                                            position : 'top_right',

                                                            size : 28

                                                    },

                                                    nav : {

                                                            bg : '#eee',

                                                            stateColor : '#000',

                                                            stateSize : 16,

                                                            cancleBg : 'rgba(0,0,0,0)',

                                                            cancelColor : '#000',

                                                            cancelSize : 16,

                                                            finishBg : 'rgba(0,0,0,0)',

                                                            finishColor : '#000',

                                                            finishSize : 16

                                                    }

                                            }

                                    }, function(ret) {

                                            var imgs = $api.dom(".imglist");

                                            var imgList = document.getElementsByClassName("addimg");

                                            if (ret.eventType == 'cancel') {

                                            } else if (ret.list.length > 0) {

                                                    if (imgList.length >= 6) {

                                                            api.toast({

                                                                    msg : '不能再添加啦',

                                                                    duration : 3000,

                                                                    location : 'bottom'

                                                            });

                                                    } else {

                                                            for (var i = 0; i < ret.list.length; i++) {

                                                                    var dcc = document.createElement("div");

                                                                    dcc.setAttribute("class", "addimg");

                                                                    dcc.setAttribute("onclick", "yichu(this)");

                                                                    dcc.innerHTML = '<img src="' + ret.list[i].thumbPath + '"/><div class="x" ><img src="../res/x.png"/></div>';

                                                                    prependChild(dcc, imgs)

                                                            }

                                                    }

                                            }

                                    });

                            }

                    }

                    function yichu(el) {

                            $api.css($api.dom(".mask"), 'display:block');

                            $api.dom(".cancel").onclick = function() {

                                    $api.css($api.dom(".mask"), 'display:none');

                            };

                            $api.dom(".sure").onclick = function() {

                                    $api.css($api.dom(".mask"), 'display:none');

                                    $api.remove(el);

                            };

                    }

                    function prependChild(html, el) {

                            if (el.hasChildNodes()) {

                                    el.insertBefore(html, el.firstChild);

                            } else {

                                    el.appendChild(html);

                            }

                    }

    </script>

    </html>

    复制代码

  • 相关阅读:
    手动安装配置Android Studio
    编程加密总结
    偏执却管用的10条Java编程技巧
    C++中一个class类对象占用多少内字节(7个例子,很清楚)
    qt 透明度设置(setWindowOpacity 和 setAutoFillBackground 和 带透明度的画刷填充就好了)
    虚函数的作用是实现多态性,多态性是将接口与实现进行分离(函数级别的接口,注意第二个例子)
    QT Linux Demo程序编译
    线性渐变、辐射渐变、角度渐变-QLinearGradient,QRadialGradient,QConicalGradient
    Linux Kernel
    .NET框架
  • 原文地址:https://www.cnblogs.com/APICloud/p/11226542.html
Copyright © 2011-2022 走看看