美文网首页让前端飞Web 前端开发
jQuery mobile实现简单的web app

jQuery mobile实现简单的web app

作者: Brighten_Sun | 来源:发表于2017-03-14 23:36 被阅读0次

    jquery mobile(JQM)

    官网:http://jquerymobile.com/
    jquery mobile需要依赖于jQuery 具体看官网下载下方会有提示需要什么版本以上的jQuery
    

    如何编写一个基础的web app

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Examples</title>
    <meta name="description" content="">
    <meta name="keywords" content="">
    <meta name="viewport"
            content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <link href="css/jquery.mobile-1.4.5.min.css" rel="stylesheet">
    </head>
    <body>
     <div data-role="page">
            <div data-role="header">
                <h1>我是标题</h1>
            </div>
            <div role="main" class="ui-content">
                <p>我是内容</p>
            </div>
            <div data-role="footer">
                    <h2>我是底部</h2>
            </div>
        </div>
    
        <script src="script/jquery-1.11.3.js"></script>
        <script src="script/jquery.mobile-1.4.5.min.js"></script>
    </body>
    </html>
    

    当需要多页面时,在body中编写为

    <div data-role="page" id="index">
            <div data-role="header">
                <h1>我是标题</h1>
            </div>
            <div role="main" class="ui-content">
                <p>我是内容</p>
                <p><a href="#index2" title="">index2</a></p>
            </div>
            <div data-role="footer">
                <h2>我是底部</h2>
            </div>
        </div>
    
        <div data-role="page" id="index2">
            <div data-role="header">
                <h1>我是标题</h1>
            </div>
            <div role="main" class="ui-content">
                <p>我是内容</p>
                <p><a href="#index" title="">index</a></p>
            </div>
            <div data-role="footer">
                <h2>我是底部</h2>
            </div>
        </div>
    

    页面过渡效果:

    这时简单的页面切换淡入淡出就已经做成了
    如果你想让切换时的效果不同时可以在a标签中编写
    <a href="#index" data-transition="slide" title="">index</a> 这时就是翻页效果
        当然效果有什么多,比如:    fade:默认值,渐变褪色的动画效果
                    slide:从右往左滑动的动画效果
                    slideup:向上滑动的动画效果
                    slidedown:向下滑动的动画效果
                    pop:以弹出的效果打开页面
                    flip:旧页飞出,新页飞入的动画效果
    

    jquery mobile页面事件

    页面初始页面
    Page Initalization - 在页面创建前,当页面创建时,在页面初始化后
                (pagebeforecreate,  pagecreate,  pageinit)
    
    js编写:
        $(document).on('pagebeforecreate',fn)
    
    
    页面加载事件
    Page Load/Unload - 当外部页面加载时,卸载时或遭遇失败时
                (pagebeforeload,  pageload)
    
    页面过渡事件
    Page Transition - 在页面过渡之前和之后
    (pagebeforeshow, pageshow, pagebeforehide, pagehide)
    
    js编写:
        $(document).on('pagebeforeshow',id,fn)  在页面过渡时需要添加id
    

    jquery mobile 创建按钮

    通过给a、button或者input元素添加样式
    (或者增加data-role="button"),可以创建按钮
    
    <a href="#" class="ui-btn">按钮</a>
    <button class="ui-btn">按钮</button>
    
    data-role="button"  是优化过的哦
    
    如果想自己设置按钮也是可以的,在class中添加
        ui-corner-all   圆角
        ui-shadow   阴影
        ui-btn-inline   按钮并排显示
        ui-btn-a    按钮不同的样式(白色按钮)
        ui-btn-b    按钮不同的样式(黑色按钮)
    

    jquery mobile 创建导航栏

    导航栏中的链接会自动转换为按钮
    使用data-role="navbar"属性来定义导航栏
    
    如果想让上下导航栏固定在上下
    就在header和footer中添加data-position="fixed"属性就可以固定了
    
    当按钮大于5个时 按钮会进行换行
    
    如何添加导航栏图标
    data-icon属性
    

    jquery mobile 列表

    如需创建列表,需向<ol>或<ul>元素添加data-role="listview"
    如需使这些项目可点击,在每个列表项<li>中规定链接
    
    ul中输入data-inset="true" 列表不会贴边显示
    
    如果想让ui中的内容浮动到右上角 需要在内容元素中添加class="ui-li-aside"
    <ul>
        <li>
            <a href="#" title="">
                            <h2>G1</h2>
                            <p>北京南 - 上海虹桥</p>
                            <p>用时:4:48</p>
                            <p class="ui-li-aside">09:00:00 开</p>
                    </a>
        </li>
    </ul>
    

    jquery mobile 表单

    使用原生的HTML即可
    <form>
                <label>发车站</label>
                <input type="text" name="" >
                <label>到达车站</label>
                <input type="text" name="" >
                <label>车次</label>
                <input type="text" name="" >
        </form>
    
    如需自适应
    宽屏幕为:480px以上
    窄屏幕为:480px以下
    
    编写代码为:class="ui-field-contain"
    
    ***要保证表单的ID为唯一的
    

    jquery mobile 表格

    reflow table mode   回流表格模式
    
    编码样式
    <table data-role="table" data-mode="reflow" class="ui-responsive table-stroke">
    

    jquery mobile 事件

    在jquery mobile 中可以使用任何标准的jQuery事件
    
    jquery mobile 还提供若干为移动浏览定制的事件
        触摸事件 - 当用户触摸屏幕时触发(敲击和滑动)
        滚动事件 - 当上下滚动时触发
        方向事件 - 当设备垂直或水平旋转时触发
        页面事件 - 当页面被显示、隐藏、创建、加载或卸载时触发
    
        Touch事件在用户 触摸屏幕(页面)时 触发
        tap事件在用户 敲击某个元素时 触发
        taphold事件在用户 长按时 被触发
        swipe事件在用户 在某个元素上水平滑动超过30px 时被触发
        scrollstart事件在用户 开始滚动页面 时被触发
        scrollstop事件在用户 停止滚动页面 时被触发......
    

    事件中特别注意

    在jQuery中:
    $(document).ready(function(){
        //此处是jQuery事件
    })
    
    在jquery mobile中:
    $(document).on("pageinit","#page",function(){...})
    建议用pageinit
    

    jquery mobile Ajax

    jquery mobile使用Ajax和在jQuery中一致
    如果在请求时想显示转圈加载的样式
    在点击按钮时Ajax获取前编写:$.mobile.loading("show");
            获取后编写:$.mobile.loading("hide");
    

    小赠品http://www.webxml.com.cn/

    相关文章

      网友评论

        本文标题:jQuery mobile实现简单的web app

        本文链接:https://www.haomeiwen.com/subject/pspknttx.html