HTML5技术

[JavaScript]自执行函数 - CN_Simo

字号+ 作者:H5之家 来源:H5之家 2017-05-25 12:01 我要评论( )

最近在接触mui的时候,遇到了一段代码: 1 ( function ($, doc) { 2 $.init({ 3 statusBarBackground: '#f7f7f7' 4 }); 5 $.plusReady( function () { 6 plus.screen.lockOrientation("portrait-primary" ); 7 var settings = app.getSettings(); 8 var stat

最近在接触mui的时候,遇到了一段代码:

1 (function($, doc) { 2 $.init({ 3 statusBarBackground: '#f7f7f7' 4 }); 5 $.plusReady(function() { 6 plus.screen.lockOrientation("portrait-primary"); 7 var settings = app.getSettings(); 8 var state = app.getState(); 9 var mainPage = $.preload({ 10 "id": 'main', 11 "url": 'tab-webview-main.html' 12 }); 13 var main_loaded_flag = false; 14 mainPage.addEventListener("loaded",function () { 15 main_loaded_flag = true; 16 }); 17 var toMain = function() { id = setInterval(function () { 21 if(main_loaded_flag){ 22 clearInterval(id); 23 $.fire(mainPage, 'show', null); 24 mainPage.show("pop-in"); 25 } 26 },20); 27 }; setTimeout(function() { plus.navigator.closeSplashscreen(); 33 }, 600); 34 var loginButton = doc.getElementById('login'); 35 var accountBox = doc.getElementById('account'); 36 var passwordBox = doc.getElementById('password'); 37 var autoLoginButton = doc.getElementById("autoLogin"); 38 var regButton = doc.getElementById('reg'); 39 var forgetButton = doc.getElementById('forgetPassword'); 40 loginButton.addEventListener('tap', function(event) { 41 var username = $('#account').val(); 42 var password = $('#password').val(); AV.User.logIn(username, password).then(function (loginedUser) { 47 toMain(); 48 }, function (error) { AlertDialog = plus.android.importClass("android.app.AlertDialog"); dlg = new AlertDialog.Builder(plus.android.runtimeMainActivity()); dlg.setTitle("登陆失败"); dlg.setMessage("用户名或密码不正确!"+JSON.stringify(error)); dlg.setPositiveButton("OK",null); dlg.show(); 61 }); 62 }); 63 $.enterfocus('#login-form input', function() { 64 $.trigger(loginButton, 'tap'); 65 }); 66 autoLoginButton.classList[settings.autoLogin ? 'add' : 'remove']('mui-active') 67 autoLoginButton.addEventListener('toggle', function(event) { 68 setTimeout(function() { 69 var isActive = event.detail.isActive; 70 settings.autoLogin = isActive; 71 app.setSettings(settings); 72 }, 50); 73 }, false); 74 regButton.addEventListener('tap', function(event) { 75 $.openWindow({ 76 url: 'reg.html', 77 id: 'reg', 78 preload: true, 79 show: { 80 aniShow: 'pop-in' 81 }, 82 styles: { 83 popGesture: 'hide' 84 }, 85 waiting: { 86 autoShow: false 87 } 88 }); 89 }, false); 90 forgetButton.addEventListener('tap', function(event) { 91 $.openWindow({ 92 url: 'forget_password.html', 93 id: 'forget_password', 94 preload: true, 95 show: { 96 aniShow: 'pop-in' 97 }, 98 styles: { 99 popGesture: 'hide' 100 }, 101 waiting: { 102 autoShow: false 103 } 104 }); 105 }, false); 106 // 107 window.addEventListener('resize', function() { 108 oauthArea.style.display = document.body.clientHeight > 400 ? 'block' : 'none'; 109 }, false); 110 // 111 var backButtonPress = 0; 112 $.back = function(event) { 113 backButtonPress++; 114 if (backButtonPress > 1) { 115 plus.runtime.quit(); 116 } else { 117 plus.nativeUI.toast('再按一次退出应用'); 118 } 119 setTimeout(function() { 120 backButtonPress = 0; 121 }, 1000); ; 123 }; 124 }); 125 }(mui, document));

mui

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • SSH 远程执行任务 - sparkdev

    SSH 远程执行任务 - sparkdev

    2017-05-14 08:01

  • 【react框架】利用shouldComponentUpdate钩子函数优化react性能以及引入immutable库的

    【react框架】利用shouldComponentUpdate钩子函数优化react性能以及

    2017-04-16 09:02

  • Omi v1.0.2发布 - 正式支持传递javascript表达式 - 【当耐特】

    Omi v1.0.2发布 - 正式支持传递javascript表达式 - 【当耐特】

    2017-03-22 11:03

  • 一道面试题引发的对javascript类型转换的思考 - ChokCoco

    一道面试题引发的对javascript类型转换的思考 - ChokCoco

    2017-03-06 17:00

网友点评