H5小程序的初体验

通常主体代码块会放在body里,在body里在区分一下标题和主体。

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <title></title>
        <script src="js/mui.min.js"></script>
        <link href="css/mui.min.css" rel="stylesheet" />

    </head>

    <body>
        <header class="mui-bar mui-bar-nav">
            <h1 class="mui-title">新闻</h1>
        </header>
        <!--图片轮播-->
        <div class="mui-content">
            <div id="slider" class="mui-slider">
                <div class="mui-slider-group mui-slider-loop">
                    <!-- 额外增加的一个节点(循环轮播:第一个节点是最后一张轮播) -->
                    <div class="mui-slider-item mui-slider-item-duplicate">
                        <a href="#">
                            <img src="http://placehold.it/400x300">
                        </a>
                    </div>
                    <!-- 第一张 -->
                    <div class="mui-slider-item">
                        <a href="#">
                            <img src="http://placehold.it/400x300">
                        </a>
                    </div>
                    <!-- 第二张 -->
                    <div class="mui-slider-item">
                        <a href="#">
                            <img src="http://placehold.it/400x300">
                        </a>
                    </div>
                    <!-- 第三张 -->
                    <div class="mui-slider-item">
                        <a href="#">
                            <img src="http://placehold.it/400x300">
                        </a>
                    </div>
                    <!-- 第四张 -->
                    <div class="mui-slider-item">
                        <a href="#">
                            <img src="http://placehold.it/400x300">
                        </a>
                    </div>
                    <!-- 额外增加的一个节点(循环轮播:最后一个节点是第一张轮播) -->
                    <div class="mui-slider-item mui-slider-item-duplicate">
                        <a href="#">
                            <img src="http://placehold.it/400x300">
                        </a>
                    </div>
                </div>
                <div class="mui-slider-indicator">
                    <div class="mui-indicator mui-active"></div>
                    <div class="mui-indicator"></div>
                    <div class="mui-indicator"></div>
                    <div class="mui-indicator"></div>
                </div>
            </div>
        </div>
        <!--九宫格-->
        <ul class="mui-table-view mui-grid-view mui-grid-9">
            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                <a href="#">
                    <span class="mui-icon mui-icon-home"></span>
                    <div class="mui-media-body">Home</div>
                </a>
            </li>
            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                <a href="#">
                    <span class="mui-icon mui-icon-email"><span class="mui-badge mui-badge-red">5</span></span>
                    <div class="mui-media-body">Email</div>
                </a>
            </li>
            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                <a href="#">
                    <span class="mui-icon mui-icon-chatbubble"></span>
                    <div class="mui-media-body">Chat</div>
                </a>
            </li>
            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                <a href="#">
                    <span class="mui-icon mui-icon-location"></span>
                    <div class="mui-media-body">Location</div>
                </a>
            </li>
            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                <a href="#">
                    <span class="mui-icon mui-icon-search"></span>
                    <div class="mui-media-body">Search</div>
                </a>
            </li>
            <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                <a href="#">
                    <span class="mui-icon mui-icon-phone"></span>
                    <div class="mui-media-body">Phone</div>
                </a>
            </li>
        </ul>
        <!--图文列表-->
        <ul class="mui-table-view">
            <li class="mui-table-view-cell mui-media">
                <a href="javascript:;">
                    <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30">
                    <div class="mui-media-body">
                        幸福
                        <p class="mui-ellipsis">能和心爱的人一起睡觉,是件幸福的事情;可是,打呼噜怎么办?</p>
                    </div>
                </a>
            </li>
            <li class="mui-table-view-cell mui-media">
                <a href="javascript:;">
                    <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30">
                    <div class="mui-media-body">
                        木屋
                        <p class="mui-ellipsis">想要这样一间小木屋,夏天挫冰吃瓜,冬天围炉取暖.</p>
                    </div>
                </a>
            </li>
            <li class="mui-table-view-cell mui-media">
                <a href="javascript:;">
                    <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30">
                    <div class="mui-media-body">
                        CBD
                        <p class="mui-ellipsis">烤炉模式的城,到黄昏,如同打翻的调色盘一般.</p>
                    </div>
                </a>
            </li>
        </ul>
        <!--尾部选项卡-->
        <nav class="mui-bar mui-bar-tab">
            <a class="mui-tab-item mui-active" id="index">
                <span class="mui-icon mui-icon-home"></span>
                <span class="mui-tab-label">首页</span>
            </a>
            <a class="mui-tab-item">
                <span class="mui-icon mui-icon-phone"></span>
                <span class="mui-tab-label">电话</span>
            </a>
            <a class="mui-tab-item" id="email">
                <span class="mui-icon mui-icon-email"></span>
                <span class="mui-tab-label">邮件</span>
            </a>
            <a class="mui-tab-item" id="setting">
                <span class="mui-icon mui-icon-gear"></span>
                <span class="mui-tab-label">设置</span>
            </a>
        </nav>

        <script type="text/javascript" charset="utf-8">
            mui.init();
            mui.plusReady(function () {

            })
            document.getElementById(‘index‘).addEventListener(‘tap‘,function () {
                    mui.openWindow({
                        "url":"index.html",
                        "id":"index.html",
                    });
            })
            document.getElementById(‘setting‘).addEventListener(‘tap‘,function () {
                    mui.openWindow({
                        "url":"a.html",
                        "id":"a.html",
                        styles:{
                            top:"0px",
                            bottom:"50px"
                        },
                        extras:{
                            name:"666"
                        }
                    })
            })
            document.getElementById(‘email‘).addEventListener(‘tap‘,function () {
                    mui.toast(‘你点击了邮件‘)
                    var a_page = plus.webview.getWebviewById("a.html");
                    mui.fire(a_page,‘show‘,{name:"kevin"})
            })
        </script>
    </body>

</html>

index.html代码

整体的页面布局效果为:标题-->轮播-->九宫格-->图文列表靠左-->尾部选项卡

数据传输的重点在于js代码块中的逻辑处理。

通过监听body中的标签id触发的事件来处理相关操作。

比如在尾部选项卡中的设置标签里,添加其标签id为id="setting"

<a class="mui-tab-item" id="setting">
                <span class="mui-icon mui-icon-gear"></span>
                <span class="mui-tab-label">设置</span>
            </a>

在JavaScript中去监听这个标签属性的动作:

document.getElementById(‘setting‘).addEventListener(‘tap‘,function () {
                    mui.openWindow({        
                        "url":"a.html",
                        "id":"a.html",
                        styles:{
                            top:"0px",
                            bottom:"50px"
                        },
                        extras:{
                            name:"666"
                        }
                    })
            })

此时若点击设置属性,会打开新的窗口。extras是将数据传递给这个新打开的窗口。

会跳转至新页面:

新跳转的页面a.html中的代码:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <link rel="stylesheet" type="text/css" href="css/mui.min.css"/>
</head>
<body>
    <header class="mui-bar mui-bar-nav">
        <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
        <h1 class="mui-title">设置</h1>
    </header>
    <!--开关-->
    <div class="mui-content">
      <div class="mui-input-row">
          <label>声音显示</label>
          <div class="mui-switch mui-active mui-switch-blue">
              <div class="mui-switch-handle"></div>
          </div>
      </div>
    </div>
    <!--列表-->
    <ul class="mui-table-view">
            <li class="mui-table-view-cell">
                <a class="mui-navigate-right">
                    Item 1
                </a>
            </li>
            <li class="mui-table-view-cell">
                <a class="mui-navigate-right">
                     Item 2
                </a>
            </li>
            <li class="mui-table-view-cell">
                <a class="mui-navigate-right">
                     Item 3
                </a>
            </li>
        </ul>

    <script src="js/mui.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
    mui.init()
    mui.plusReady(function () {
        var sdata=plus.webview.currentWebview();
        console.log(JSON.stringify(sdata));
//      console.log(sdata.name);
    })
    document.addEventListener("show",function(data){
        console.log(JSON.stringify(data.detail));
        alert("欢迎")
    })
    </script>
</body>
</html>

a.html代码

新页面接收index页面传递过来的数据:js中的代码

mui.plusReady(function () {
        var sdata=plus.webview.currentWebview();
        console.log(JSON.stringify(sdata));
//      console.log(sdata.name);
    })

********************************************************************************************

实现事件的传递:在调用新页面获取id前,必须实例化一个plus方法,用于后文通过plus对象去找id

mui.init();
    mui.plusReady(function () {

            })

body中的元素添加ID

<a class="mui-tab-item" id="email">
                <span class="mui-icon mui-icon-email"></span>
                <span class="mui-tab-label">邮件</span>
            </a>

监听元素:

document.getElementById(‘email‘).addEventListener(‘tap‘,function () {
                    mui.toast(‘你点击了邮件‘)
                    var a_page = plus.webview.getWebviewById("a.html");     //在index中获取新窗口的id 并作为一个新的对象
                    mui.fire(a_page,‘show‘,{name:"kevin"})           //show是自定义的方法  后面字典中为数据
            })

a.html页面接收index.html传递的show方法以及数据:

 document.addEventListener("show",function(data){
        console.log(JSON.stringify(data.detail));
        alert("欢迎")
    })

在点击设置,创建了a.html页面后,在点击邮箱能实现效果

原文地址:https://www.cnblogs.com/wen-kang/p/10745423.html

时间: 2024-11-05 13:39:03

H5小程序的初体验的相关文章

微信小程序DEMO初体验

小程序虽然被炒的很热,但是绝大部分人却从未亲自体验过,在2017年的上班第一天,献上一个小程序DEMO,您可以体验! 注意:由于微信限制,只能使用扫一扫来体验下方小程序DEMO. DEMO首页截图如下: 本文转至:http://www.hotlist.com.cn/archives/109.html

微信小程序开发初体验

微信小程序上线几天了,趁着周末补了一下JS,然后今天参照文档和教程写了个小demo 文档地址       教程地址 看文档就看了一点时间,因为以前没接触过JS框架,但是接触过PHP框架= = ,所以理解小程序的框架也不是很难. 微信小程序虽然是用了JS,但是没有了document对象,用起来就感觉有点别扭,没JS那种DOM操作随心所欲的感觉..可能是因为暂时还不是很熟悉. 照着教程实现了一下,JS部分倒是没什么太大的问题. 主要是CSS部分,因为教程里面的CSS做的感觉不是很好,所以就自己重写了

小程序的初体验

按F1查找快捷键 点击编译重新编译,保存代码就会自动重新编译 清除缓存 页面page的优先级priority 大于 app 的优先级 rpx会根据频率的大小改变大小 显示图片如果想要同样大小的显示有两种方法 1.用px 原来尺寸除以2 2.用rpx 使用原来尺寸 原文地址:https://www.cnblogs.com/joer717/p/10593404.html

程序开发初体验

程序开发初体验 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 10 ? Estimate ? 估计这个任务需要多少时间 20 10 Development 开发 370 380 ? Analysis ? 需求分析 (包括学习新技术) 30 20 ? Design Spec ? 生成设计文档 60 20 ? Design Review ? 设计复审 10 10 ? Coding St

原创:微信小程序亲测体验,公众号入口曝光!

扫描即可体验知乐微信小程序,并且看到入口 你可以在这里看到相应的小程序:微信小程序商店 发现内有历史列表入口 真实小程序 搜索 操作栏 放置到桌面示意图必须搜索全称,才可以搜索到小程序 推荐给朋友,可以直接分享给个人或群内 ios版本也是同样:需要先打开一次小程序,才能看到发现入口

TODO:小程序开发过程之体验者

1. 小程序开发过程,先下载开发者并安装开发者工具,现在腾讯开放测试了,普通用户也可以登录开发者工具,如图普通用户登录为调试类型,但是只能建立无AppID的项目 如果打开带有AppID的项目会出现系统错误 创建带有APPID的项目会跳转到公众号首页要去添加开发者权限,然后在重试 2. 当我们创建好一个项目之后,可以在开发者工具上进行预览调试,没有AppID的项目不能"预览","上传",只能在开发者工具上测试 3. 有AppID的项目,预览也只能是管理员或者开发者才有

TODO:小程序的使用体验

2017.01.09小程序如期而至,话说十年前的今天2007.01.09是第一代iPhone发布日期. 清晨朋友圈发了一张小程序的截图,很多朋友问用什么版本的微信才有小程序,我怎么没有小程序?如果你有关注微信开发相关的公众号就会收到小程序的推送的文章了.你需要将微信更新至iOS6.5.3版本或Android6.5.3版本,其次,你得尝试使用一个小程序.你就可以在微信的"发现"看到"小程序"了. 很多朋友说我有没有用过小程序,从什么地方获取到小程序呢? 1. 线下二维

关于小程序开发者和体验者的数据请求问题

微信小程序的文档中明确说明了所有的请求是必须使用https的,以没用过https,由于小程序,不得不接触到https,研究了好长时间把tomcat配置好了https.然后用开发者工具测试是否能请求到数据,发现能获取到很开心. 后来是注册了小程序,在小程序后台也进行了设置,见下图 给项目加了APPID,准备进行手机预览的测试 这里说一下,在开发小程序时尽量把图片放到自己的服务器上,因为小程序在上传和预览时都有编译包的限制,没有算过,大概是1M,不知道以后会不会增加 点预览会生成一个二维码,通过微信

Windows 10 UAP(通用程序) 开发初体验(1) 之 开发准备

一.准备: 1.准备一个 10074或更高版本的Win10.可以通过 https://insider.windows.com/ 地址,加入Windows 的会员俱乐部免费获取的. 2.下载Visual Studio 2015 RC版. 可以在 https://www.visualstudio.com/ 这个地址下载到. 3.下载 Windows 10 development tools for Visual Studio 2015 RC. 地址:https://dev.windows.com/z