HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

当前页面打开多个新页面的js (很流畅)

openNewpage("a1",'anjian.html','anjian');//调用方法

function openNewpage(id, gethtmlid, geturl) {  
    var page = mui.preload({  
        url: gethtmlid,  
        id: geturl,  
    });  
    var getid = document.getElementById(id);  
    getid.addEventListener('tap', function() {  
        mui.openWindow({  
            url: gethtmlid,  
            id: geturl,  
            show: {  
//              autoShow: false,  
                aniShow:'zoom-out',//参考官方的效果  
            }  
        })  
    });  
}

参考官方的效果集:

<ul class="dlist">   
                <li class="ditem" onclick="animateWindow('pop-in')">从右侧平移入栈</li>  
                <li class="ditem" onclick="animateWindow('slide-in-right')">从右侧横向滑出</li>  
                <li class="ditem" onclick="animateWindow('slide-in-left')">从左侧横向滑出</li>  
                <li class="ditem" onclick="animateWindow('slide-in-top')">从上侧竖向滑出</li>  
                <li class="ditem" onclick="animateWindow('slide-in-bottom')">从下侧竖向滑出</li>  
                <!--<li class="ditem" onclick="animateWindow('zoom-out')">从小到大逐渐放大</li>-->  
                <li class="ditem" onclick="animateWindow('zoom-fade-out')">从小到大并逐渐透明显示</li>  
                <li class="ditem" onclick="animateWindow('fade-in')">从透明到不透明逐渐显示</li>  
                <!--<li class="ditem" onclick="animateWindow('flip-x')">以x轴从上到下翻转效果</li>  
                <li class="ditem" onclick="animateWindow('flip-rx')">以x轴从下到上翻转转效果</li>  
                <li class="ditem" onclick="animateWindow('flip-y')">以y轴从左到右翻转效果</li>  
                <li class="ditem" onclick="animateWindow('flip-ry')">以y轴从右到左翻转效果</li>  
                <li class="ditem" onclick="animateWindow('page-forward')">向前翻书动画效果</li>-->  
                <li class="ditem" onclick="animateWindow('none')">无动画</li>  
            </ul>
继续阅读 »

openNewpage("a1",'anjian.html','anjian');//调用方法

function openNewpage(id, gethtmlid, geturl) {  
    var page = mui.preload({  
        url: gethtmlid,  
        id: geturl,  
    });  
    var getid = document.getElementById(id);  
    getid.addEventListener('tap', function() {  
        mui.openWindow({  
            url: gethtmlid,  
            id: geturl,  
            show: {  
//              autoShow: false,  
                aniShow:'zoom-out',//参考官方的效果  
            }  
        })  
    });  
}

参考官方的效果集:

<ul class="dlist">   
                <li class="ditem" onclick="animateWindow('pop-in')">从右侧平移入栈</li>  
                <li class="ditem" onclick="animateWindow('slide-in-right')">从右侧横向滑出</li>  
                <li class="ditem" onclick="animateWindow('slide-in-left')">从左侧横向滑出</li>  
                <li class="ditem" onclick="animateWindow('slide-in-top')">从上侧竖向滑出</li>  
                <li class="ditem" onclick="animateWindow('slide-in-bottom')">从下侧竖向滑出</li>  
                <!--<li class="ditem" onclick="animateWindow('zoom-out')">从小到大逐渐放大</li>-->  
                <li class="ditem" onclick="animateWindow('zoom-fade-out')">从小到大并逐渐透明显示</li>  
                <li class="ditem" onclick="animateWindow('fade-in')">从透明到不透明逐渐显示</li>  
                <!--<li class="ditem" onclick="animateWindow('flip-x')">以x轴从上到下翻转效果</li>  
                <li class="ditem" onclick="animateWindow('flip-rx')">以x轴从下到上翻转转效果</li>  
                <li class="ditem" onclick="animateWindow('flip-y')">以y轴从左到右翻转效果</li>  
                <li class="ditem" onclick="animateWindow('flip-ry')">以y轴从右到左翻转效果</li>  
                <li class="ditem" onclick="animateWindow('page-forward')">向前翻书动画效果</li>-->  
                <li class="ditem" onclick="animateWindow('none')">无动画</li>  
            </ul>
收起阅读 »

感觉不错的html5

HTML5

这是一款效果十分不错的jQuery仿Google Play多级导航菜单特效插件。插件中使用了ELUSIVE-ICONSWEB字体。

HTML结构

使用该进度条插件,首先要在页面中引入jquery和上面的WEB字体。
<nav class="navigation">
<a href="#" class="active home">
<span class="icon"><i class="icon-home"></i></span> <span class="content">Home</span>
</a>
<a href="#app_nav" class="green">
<span class="icon"><i class="icon-website"></i></span> <span class="content">Apps</span>
</a>
<div class="hide second_level" id="app_nav">
<a href="#" class="back">
<i class="icon-chevron-left"></i>
</a>
<div class="content">
<a href="http://www.google.com">
<span class="content">Popular Apps</span>
</a>
….
</div>
</div>
….
</nav>

class为Home的链接用于返回顶级菜单。后面的链接是二级菜单。和它相邻的div标签是隐藏的二级菜单的内容。当用户顶级二级菜单时,div中的内容将显示。在隐藏的div中,有一个空的链接back。通过它用户可以查看上一级菜单的内容。

JAVASCRIPT

通过下面的语句来调用该多级菜单插件。
$(window).load(function () {
$(".navigation > a").click(function() {
if (!$(this).hasClass("active")) {
$(".navigation").unbind('mouseleave');
$(".navigation .second_level").hide();
var el = $(this);
el.addClass("hover");
$(".navigation > a.active").fadeOut("fast", function() {
var prev = $(this)
prev.removeClass('active');
container_pos = $(".navigation").offset()
button_pos = el.offset()
el.animate({ top: container_pos.top - button_pos.top }, 500, function() {
el.addClass("active").removeClass("hover").css("top", 0);
if (el.attr("href").length > 1 && el.attr("href") != "#") {
$(".navigation > a:not(.active)").hide();
$(el.attr("href")).slideDown("slow");
} else {
prev.fadeIn("fast");
}
});
});
}
});
$(".navigation .back").hover(
function () {
var el = $(this)
$(".navigation .second_level").hide();
$(".navigation > a").show();
$(".navigation").hover(function() {}, function() {
$(this).unbind('mouseleave');
$(".navigation > a:visible:not(.active)").hide();
el.closest(".second_level").show();
});

});  

});

JS代码有一点复杂。所有的链接都被绑定click事件。当我们点击链接时,将当前链接的内容移动顶部,隐藏顶级链接内容。

第二部分的JS代码用于从二级菜单返回。当鼠标滑过返回按钮,顶级菜单出现在顶部,覆盖二级菜单。当鼠标离开,点击菜单消失,二级菜单出现。

我们还可以集成Animate.css到我们的JS文件中,来制作各种有趣的动画效果。看下面的例子:

在下面的例子中,你可以看到两种动画效果<<first-level-animation>>和<<second-level-animation>>。第一种动画时用户鼠标滑过返回按钮时的动画,第二种动画时用户点击第一级菜单,第二级菜单出现的动画。

选择你需要的Animate.css动画效果,然后替换上部的代码。例如:如果你想要两种效果都是bounceIn效果,那么,将<<first-level-animation>>和<<second-level-animation>>都替换为bounceIn。
$(window).load(function () {
$(".navigation > a").click(function() {
if (!$(this).hasClass("active")) {
$(".navigation").unbind('mouseleave');
$(".navigation .second_level").removeClass("animated <<second-level-animation>>").hide();
var el = $(this);
el.addClass("hover");
$(".navigation > a.active").fadeOut("fast", function() {
var prev = $(this)
prev.removeClass('active');
container_pos = $(".navigation").offset()
button_pos = el.offset()
el.animate({ top: container_pos.top - button_pos.top }, 500, function() {
el.addClass("active").removeClass("hover").css("top", 0);
if (el.attr("href").length > 1 && el.attr("href") != "#") {
$(".navigation > a:not(.active)").removeClass("<<first-level-animation>> animated").hide();
$(el.attr("href")).addClass("<<second-level-animation>> animated").show();
} else {
prev.addClass("<<first-level-animation>> animated").fadeIn("fast");
}
});
});
}

});

$(".navigation .back").hover(
function () {
var el = $(this)
$(".navigation .second_level").removeClass("animated <<second-level-animation>>").hide();
$(".navigation > a:not(.active)").addClass("<<first-level-animation>> animated").show()
$(".navigation").hover(function() {}, function() {
$(this).unbind('mouseleave');
$(".navigation > a:visible:not(.active)").hide().removeClass("<<first-level-animation>> animated");
el.closest(".second_level").addClass("animated <<second-level-animation>>").show();
});
});
});

http://www.htmleaf.com/jQuery/Menu-Navigation/201412311048.html
http://www.ux110.com/kaifazhe.php

继续阅读 »

这是一款效果十分不错的jQuery仿Google Play多级导航菜单特效插件。插件中使用了ELUSIVE-ICONSWEB字体。

HTML结构

使用该进度条插件,首先要在页面中引入jquery和上面的WEB字体。
<nav class="navigation">
<a href="#" class="active home">
<span class="icon"><i class="icon-home"></i></span> <span class="content">Home</span>
</a>
<a href="#app_nav" class="green">
<span class="icon"><i class="icon-website"></i></span> <span class="content">Apps</span>
</a>
<div class="hide second_level" id="app_nav">
<a href="#" class="back">
<i class="icon-chevron-left"></i>
</a>
<div class="content">
<a href="http://www.google.com">
<span class="content">Popular Apps</span>
</a>
….
</div>
</div>
….
</nav>

class为Home的链接用于返回顶级菜单。后面的链接是二级菜单。和它相邻的div标签是隐藏的二级菜单的内容。当用户顶级二级菜单时,div中的内容将显示。在隐藏的div中,有一个空的链接back。通过它用户可以查看上一级菜单的内容。

JAVASCRIPT

通过下面的语句来调用该多级菜单插件。
$(window).load(function () {
$(".navigation > a").click(function() {
if (!$(this).hasClass("active")) {
$(".navigation").unbind('mouseleave');
$(".navigation .second_level").hide();
var el = $(this);
el.addClass("hover");
$(".navigation > a.active").fadeOut("fast", function() {
var prev = $(this)
prev.removeClass('active');
container_pos = $(".navigation").offset()
button_pos = el.offset()
el.animate({ top: container_pos.top - button_pos.top }, 500, function() {
el.addClass("active").removeClass("hover").css("top", 0);
if (el.attr("href").length > 1 && el.attr("href") != "#") {
$(".navigation > a:not(.active)").hide();
$(el.attr("href")).slideDown("slow");
} else {
prev.fadeIn("fast");
}
});
});
}
});
$(".navigation .back").hover(
function () {
var el = $(this)
$(".navigation .second_level").hide();
$(".navigation > a").show();
$(".navigation").hover(function() {}, function() {
$(this).unbind('mouseleave');
$(".navigation > a:visible:not(.active)").hide();
el.closest(".second_level").show();
});

});  

});

JS代码有一点复杂。所有的链接都被绑定click事件。当我们点击链接时,将当前链接的内容移动顶部,隐藏顶级链接内容。

第二部分的JS代码用于从二级菜单返回。当鼠标滑过返回按钮,顶级菜单出现在顶部,覆盖二级菜单。当鼠标离开,点击菜单消失,二级菜单出现。

我们还可以集成Animate.css到我们的JS文件中,来制作各种有趣的动画效果。看下面的例子:

在下面的例子中,你可以看到两种动画效果<<first-level-animation>>和<<second-level-animation>>。第一种动画时用户鼠标滑过返回按钮时的动画,第二种动画时用户点击第一级菜单,第二级菜单出现的动画。

选择你需要的Animate.css动画效果,然后替换上部的代码。例如:如果你想要两种效果都是bounceIn效果,那么,将<<first-level-animation>>和<<second-level-animation>>都替换为bounceIn。
$(window).load(function () {
$(".navigation > a").click(function() {
if (!$(this).hasClass("active")) {
$(".navigation").unbind('mouseleave');
$(".navigation .second_level").removeClass("animated <<second-level-animation>>").hide();
var el = $(this);
el.addClass("hover");
$(".navigation > a.active").fadeOut("fast", function() {
var prev = $(this)
prev.removeClass('active');
container_pos = $(".navigation").offset()
button_pos = el.offset()
el.animate({ top: container_pos.top - button_pos.top }, 500, function() {
el.addClass("active").removeClass("hover").css("top", 0);
if (el.attr("href").length > 1 && el.attr("href") != "#") {
$(".navigation > a:not(.active)").removeClass("<<first-level-animation>> animated").hide();
$(el.attr("href")).addClass("<<second-level-animation>> animated").show();
} else {
prev.addClass("<<first-level-animation>> animated").fadeIn("fast");
}
});
});
}

});

$(".navigation .back").hover(
function () {
var el = $(this)
$(".navigation .second_level").removeClass("animated <<second-level-animation>>").hide();
$(".navigation > a:not(.active)").addClass("<<first-level-animation>> animated").show()
$(".navigation").hover(function() {}, function() {
$(this).unbind('mouseleave');
$(".navigation > a:visible:not(.active)").hide().removeClass("<<first-level-animation>> animated");
el.closest(".second_level").addClass("animated <<second-level-animation>>").show();
});
});
});

http://www.htmleaf.com/jQuery/Menu-Navigation/201412311048.html
http://www.ux110.com/kaifazhe.php

收起阅读 »

新增DOM节点样式问题(解决方法:设置类样式,增加类名)参考代码如下

<!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" />  
        <style type="text/css">  
            .divsow{  
                background:#0062CC;  
                height: 20px;  
                margin-bottom: 5px;  
            }  
        </style>  
    </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">adddiv</h1>  
        </header>  
        <div class="mui-content" id="div1">  
            <button type="button" class="mui-btn mui-btn-blue" onclick="adddiv()">增加</button>  
            <div class="divsow">  
            </div>  
        </div>  
        <script type="text/javascript" charset="utf-8">  
            mui.init();  
            function adddiv() {  
                var i = 0;  
                for(;i<6;i++){  
                    var para = document.createElement("div");  
                    para.setAttribute("class","divsow");//为新增节点div,添加类名,获取当前的样式  
                    var node=document.createTextNode(i);  
                    para.appendChild(node);  
                    var element = document.getElementById("div1");  
                    element.appendChild(para);  
                }  
            }  
        </script>  
    </body>  
</html>
继续阅读 »
<!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" />  
        <style type="text/css">  
            .divsow{  
                background:#0062CC;  
                height: 20px;  
                margin-bottom: 5px;  
            }  
        </style>  
    </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">adddiv</h1>  
        </header>  
        <div class="mui-content" id="div1">  
            <button type="button" class="mui-btn mui-btn-blue" onclick="adddiv()">增加</button>  
            <div class="divsow">  
            </div>  
        </div>  
        <script type="text/javascript" charset="utf-8">  
            mui.init();  
            function adddiv() {  
                var i = 0;  
                for(;i<6;i++){  
                    var para = document.createElement("div");  
                    para.setAttribute("class","divsow");//为新增节点div,添加类名,获取当前的样式  
                    var node=document.createTextNode(i);  
                    para.appendChild(node);  
                    var element = document.getElementById("div1");  
                    element.appendChild(para);  
                }  
            }  
        </script>  
    </body>  
</html>
收起阅读 »

maps 显示当前位置 并设置icon和label

var map = new plus.maps.Map("map");  
                map.getUserLocation(function(state, point) {  
                    if (0 == state) {  
                        var point = new plus.maps.Point(point.longitude, point.latitude);  
                        map.centerAndZoom(point, 12 );  
                        var marker = new plus.maps.Marker(point);  
                        var marker=new plus.maps.Marker(point);  
                        marker.setIcon("img/2.png");  
                        marker.setLabel("我的位置");  
                        map.addOverlay(marker);  
                    } else {  
                        map.centerAndZoom(new plus.maps.Point(116.3977, 39.906016), 12); //指定默认地址  
                        console.log("无法获取当前地址!");  
                    }  
                });
继续阅读 »
var map = new plus.maps.Map("map");  
                map.getUserLocation(function(state, point) {  
                    if (0 == state) {  
                        var point = new plus.maps.Point(point.longitude, point.latitude);  
                        map.centerAndZoom(point, 12 );  
                        var marker = new plus.maps.Marker(point);  
                        var marker=new plus.maps.Marker(point);  
                        marker.setIcon("img/2.png");  
                        marker.setLabel("我的位置");  
                        map.addOverlay(marker);  
                    } else {  
                        map.centerAndZoom(new plus.maps.Point(116.3977, 39.906016), 12); //指定默认地址  
                        console.log("无法获取当前地址!");  
                    }  
                });
收起阅读 »

预加载只加载了一次,传值需要定时刷新

 mui.init();  
            mui.plusReady(function() {  
                mui("ul").on('tap', 'img', function() {  
                    var num = this.src; //获取点击该标签的值  
//                  alert(num); //用于测试,显示该值  
                    plus.storage.setItem('a', num);  
                    setTimeout(function() {  
                        var page = mui.preload({  
                            url: "second.html",  
                            id: "second",  
                        });  
                    }, 0.001);  
                    mui.openWindow({  
                        url: "second.html",  
                        id: "second",  
                    });  
                    plus.nativeUI.closeWaiting();  
                });  
            });
继续阅读 »
 mui.init();  
            mui.plusReady(function() {  
                mui("ul").on('tap', 'img', function() {  
                    var num = this.src; //获取点击该标签的值  
//                  alert(num); //用于测试,显示该值  
                    plus.storage.setItem('a', num);  
                    setTimeout(function() {  
                        var page = mui.preload({  
                            url: "second.html",  
                            id: "second",  
                        });  
                    }, 0.001);  
                    mui.openWindow({  
                        url: "second.html",  
                        id: "second",  
                    });  
                    plus.nativeUI.closeWaiting();  
                });  
            });
收起阅读 »

获取城市或者省份(已解决,另附上代码及说明),不用谢

function getPosBaidu() {  
                alert("获取百度定位位置信息:");  
                plus.geolocation.getCurrentPosition(function getinfo(position){  
                    var str = position.address.city; //获取城市信息  
                    document.getElementById("addr").innerHTML = str;  
                    alert(str);  
                }, function(e) {  
                    alert("获取百度定位位置信息失败:"   e.message);  
                }, {provider: 'baidu'});  
            }

参考的测试的数据格式

{"coordsType":"bd09ll","address":{"cityCode":"132","province":"重庆市","district":"渝北区","street":"红黄路","city":"重庆市","country":"中国"},"addresses":"中国重庆市渝北区红黄路xxx号","coords":{"latitude":29.594499,"longitude":106.545088,"accuracy":188,"altitude":5e-324,"heading":null,"speed":0,"altitudeAccuracy":0},"timestamp":1449220694000} at plus/geolocation.html:32
继续阅读 »
function getPosBaidu() {  
                alert("获取百度定位位置信息:");  
                plus.geolocation.getCurrentPosition(function getinfo(position){  
                    var str = position.address.city; //获取城市信息  
                    document.getElementById("addr").innerHTML = str;  
                    alert(str);  
                }, function(e) {  
                    alert("获取百度定位位置信息失败:"   e.message);  
                }, {provider: 'baidu'});  
            }

参考的测试的数据格式

{"coordsType":"bd09ll","address":{"cityCode":"132","province":"重庆市","district":"渝北区","street":"红黄路","city":"重庆市","country":"中国"},"addresses":"中国重庆市渝北区红黄路xxx号","coords":{"latitude":29.594499,"longitude":106.545088,"accuracy":188,"altitude":5e-324,"heading":null,"speed":0,"altitudeAccuracy":0},"timestamp":1449220694000} at plus/geolocation.html:32
收起阅读 »

未能创建视图

默认话题

更新了svn的版本后报错:
未能创建视图:
E:\参考\HBuilder\plugins\com.pandora.cef3.win32.x86_2.0.0.201511261800\os\win32\x86\jcef.dll: Can't find dependent

部分详细错误:
java.lang.UnsatisfiedLinkError: E:\参考\HBuilder\plugins\com.pandora.cef3.win32.x86_2.0.0.201511261800\os\win32\x86\jcef.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)

继续阅读 »

更新了svn的版本后报错:
未能创建视图:
E:\参考\HBuilder\plugins\com.pandora.cef3.win32.x86_2.0.0.201511261800\os\win32\x86\jcef.dll: Can't find dependent

部分详细错误:
java.lang.UnsatisfiedLinkError: E:\参考\HBuilder\plugins\com.pandora.cef3.win32.x86_2.0.0.201511261800\os\win32\x86\jcef.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)

收起阅读 »

手机验证60s后重发问题?要清除定时

var countdown = 60;  
            function timedown(obj) {  
                if (countdown == 0) {  
                    obj.removeAttribute("disabled");  
                    obj.value = "获取验证码";  
                    return clearTimeout();//清除定时,没有的话会导致后面每次减一越来越快  
                } else {  
                    obj.setAttribute("disabled", true);  
                    obj.value = "重新发送(" + countdown + ")";  
                    countdown--;  
                }  
                setTimeout(function() {  
                        timedown(obj);  
                    }, 1000);//定时每秒减一  
            }  
            //手机验证,判断60s之后再发送验证码  
            function settime(obj) {  
                var reg_phone_number = document.getElementById("reg_phone_number");  
                var reg_getcode = document.getElementById("reg_getcode");  
                var check_phone_number = /^1[3458]\d{9}$/;  
                if (reg_phone_number.value.length == 0) {  
                    plus.ui.toast("手机号不能为空");  
                    return;  
                }  
                if (reg_phone_number.value.length != 11) {  
                    plus.ui.toast("请输入有效的手机号!");  
                    return;  
                }  
                if (!reg_phone_number.value.match(check_phone_number)) {  
                    plus.ui.toast("请输入有效的手机号");  
                    return;  
                } else {  
                                        //短信发送  
                    /*                  var url = strWebServer + "/App_Fun/Login/Reg_Edit.ashx";  
                                        var _params = {  
                                            config: {  
                                                action: "getCode",  
                                                strTel: reg_phone_number.value  
                                            },  
                                            fun_Success: function(data) {  
                                                if (data.success == "true") {  
                                                    plus.ui.toast("短信已发送");  
                                                } else {  
                                                    plus.ui.toast(data.msg);  
                                                }  
                                            }  
                                        };  
                                        fun_ExcuteAjax(url, _params);*/  
                    countdown = 5;  
//                  alert("haha");//用于测试  
                    timedown(obj);  
                }  
            }
继续阅读 »
var countdown = 60;  
            function timedown(obj) {  
                if (countdown == 0) {  
                    obj.removeAttribute("disabled");  
                    obj.value = "获取验证码";  
                    return clearTimeout();//清除定时,没有的话会导致后面每次减一越来越快  
                } else {  
                    obj.setAttribute("disabled", true);  
                    obj.value = "重新发送(" + countdown + ")";  
                    countdown--;  
                }  
                setTimeout(function() {  
                        timedown(obj);  
                    }, 1000);//定时每秒减一  
            }  
            //手机验证,判断60s之后再发送验证码  
            function settime(obj) {  
                var reg_phone_number = document.getElementById("reg_phone_number");  
                var reg_getcode = document.getElementById("reg_getcode");  
                var check_phone_number = /^1[3458]\d{9}$/;  
                if (reg_phone_number.value.length == 0) {  
                    plus.ui.toast("手机号不能为空");  
                    return;  
                }  
                if (reg_phone_number.value.length != 11) {  
                    plus.ui.toast("请输入有效的手机号!");  
                    return;  
                }  
                if (!reg_phone_number.value.match(check_phone_number)) {  
                    plus.ui.toast("请输入有效的手机号");  
                    return;  
                } else {  
                                        //短信发送  
                    /*                  var url = strWebServer + "/App_Fun/Login/Reg_Edit.ashx";  
                                        var _params = {  
                                            config: {  
                                                action: "getCode",  
                                                strTel: reg_phone_number.value  
                                            },  
                                            fun_Success: function(data) {  
                                                if (data.success == "true") {  
                                                    plus.ui.toast("短信已发送");  
                                                } else {  
                                                    plus.ui.toast(data.msg);  
                                                }  
                                            }  
                                        };  
                                        fun_ExcuteAjax(url, _params);*/  
                    countdown = 5;  
//                  alert("haha");//用于测试  
                    timedown(obj);  
                }  
            }
收起阅读 »

[Bug反馈] Android plus.runtime.restart();重启失效

bug已确认 bug反馈 mui

HBhuilder版本: 6.8.1.201512032138
mui.min.js 版本:v2.7.0(复制最新,替换项目中同名文件,其他文件经过同样的操作替换。)
问题表现:Android 设备上,plus.runtime.restart(); 失效,应用没有重启。
Android 版本:5.0.1
IOS:表现正常

附带问题:应用启动时
Android平台提示
Uncaught TypeError: Cannot read property 'value' of undefined at js/mui.min.js:9;
ios 提示
[ERROR] : TypeError: undefined is not an object (evaluating 'a.input.value')
file name:js/mui.min.js
line no:9

初步排查定位:应用首页的图片轮播。(此时,在以下代码被注释掉的情况下轮播能正常使用)

//          var pageSlider = mui("#slider");  
//          pageSlider.slider({  
//              interval: 5000  
//          });

----------------------------感谢@DCloud_MUI_new的回答解惑,以下补充信息----------------------------------

用mui.js v2.7.0 定位错误:
Uncaught TypeError: Cannot read property 'value' of undefined at js/mui.min.js:7219
Uncaught TypeError: Cannot read property '0' of undefined at js/mui.min.js:4662

分别为:

首个错误,与数字输入框相关,现在数字输入框不能通过 + - 按钮更新数字了。只能input填写。
【已经解决:新的数字输入框 input 的class 现在是 mui-input-numbox,而不是原来的 mui-numbox-input 】

        /**  
         * 验证当前值是法合法  
         **/  
        checkValue: function() {  
            var self = this;  
            var val = self.input.value;//Cannot read property 'value' of undefined  
            if (val == null || val == '' || isNaN(val)) {  
                self.input.value = self.options.min || 0;  
                self.minus.disabled = self.options.min != null;  
            } else {  
                var val = parseInt(val);  
                     //以下略

提示2,轮播slider的问题

                    if (slideNumber > (this.itemLength - 1)) {  
                        slideNumber = 0;  
                        time = 0;  
                    } else if (slideNumber < 0) {  
                        slideNumber = this.itemLength - 1;  
                        time = 0;  
                    }  
                }  
                slideNumber = Math.min(Math.max(0, slideNumber), this.itemLength - 1);  
            }  
            return this.pages[slideNumber][0];//Cannot read property '0' of undefined  
        },

----------------------------------------------追加询问 / 反馈---------------------------------------------------------
ios平台( ver 8.1.3):plus.nativeUI.closeWating(); 无法关闭上一窗口遗留的waiting等待动画。请确认是否是Bug

继续阅读 »

HBhuilder版本: 6.8.1.201512032138
mui.min.js 版本:v2.7.0(复制最新,替换项目中同名文件,其他文件经过同样的操作替换。)
问题表现:Android 设备上,plus.runtime.restart(); 失效,应用没有重启。
Android 版本:5.0.1
IOS:表现正常

附带问题:应用启动时
Android平台提示
Uncaught TypeError: Cannot read property 'value' of undefined at js/mui.min.js:9;
ios 提示
[ERROR] : TypeError: undefined is not an object (evaluating 'a.input.value')
file name:js/mui.min.js
line no:9

初步排查定位:应用首页的图片轮播。(此时,在以下代码被注释掉的情况下轮播能正常使用)

//          var pageSlider = mui("#slider");  
//          pageSlider.slider({  
//              interval: 5000  
//          });

----------------------------感谢@DCloud_MUI_new的回答解惑,以下补充信息----------------------------------

用mui.js v2.7.0 定位错误:
Uncaught TypeError: Cannot read property 'value' of undefined at js/mui.min.js:7219
Uncaught TypeError: Cannot read property '0' of undefined at js/mui.min.js:4662

分别为:

首个错误,与数字输入框相关,现在数字输入框不能通过 + - 按钮更新数字了。只能input填写。
【已经解决:新的数字输入框 input 的class 现在是 mui-input-numbox,而不是原来的 mui-numbox-input 】

        /**  
         * 验证当前值是法合法  
         **/  
        checkValue: function() {  
            var self = this;  
            var val = self.input.value;//Cannot read property 'value' of undefined  
            if (val == null || val == '' || isNaN(val)) {  
                self.input.value = self.options.min || 0;  
                self.minus.disabled = self.options.min != null;  
            } else {  
                var val = parseInt(val);  
                     //以下略

提示2,轮播slider的问题

                    if (slideNumber > (this.itemLength - 1)) {  
                        slideNumber = 0;  
                        time = 0;  
                    } else if (slideNumber < 0) {  
                        slideNumber = this.itemLength - 1;  
                        time = 0;  
                    }  
                }  
                slideNumber = Math.min(Math.max(0, slideNumber), this.itemLength - 1);  
            }  
            return this.pages[slideNumber][0];//Cannot read property '0' of undefined  
        },

----------------------------------------------追加询问 / 反馈---------------------------------------------------------
ios平台( ver 8.1.3):plus.nativeUI.closeWating(); 无法关闭上一窗口遗留的waiting等待动画。请确认是否是Bug

收起阅读 »

今天升级HBuilder之后,出现 安装失败 return code=-402653104 临时解决办法

真机调试

由于升级包中的ios基座安装包损坏,造成无法真机调试
遇到这个问题


可先点击这个链接打开文件所在目录,

http://pan.baidu.com/s/1hqjmDSS在百度网盘中下载完整ipa包
替换之前的ipa
可临时解决

继续阅读 »

由于升级包中的ios基座安装包损坏,造成无法真机调试
遇到这个问题


可先点击这个链接打开文件所在目录,

http://pan.baidu.com/s/1hqjmDSS在百度网盘中下载完整ipa包
替换之前的ipa
可临时解决

收起阅读 »