介绍
就目前移动端而言,已有比较成熟都响应式框架,类似于Bootstrap、AmazeUI、Skeljs。但是对于普通开发者来说,为了满足快速开发的需求去学习和使用这些框架的时间成本是比较高的。所以,本着轻量、快速开发的原则,为大家提供了基于原生JS的移动动端解决方案,希望能在交流、使用中继续优化AutoStrap。
原理
目前我们熟悉的开源前端框架都是栅格化布局,通过mediaQuery,在不同分辨率加载不同的css到达响应式的效果。同时还提供了诸多的JS组件供开发者使用。而AutoStrap是使用viewport,以iPhone4分辨率为模板,根据可视宽高调节缩放比例实现。具体内容下面的代码会给出。
autostrap.js
/*! * AutoStrap v1.0.0 (http://largesoft.org) * Copyright 2015 Vern, Inc. */ var g = document.documentElement.clientWidth, h = document.documentElement.clientHeight, clientWidth = document.documentElement.clientWidth, viewport = document.getElementById("MobileViewport"); function isWeixin() { var a = navigator.userAgent.toLowerCase(); return "micromessenger" == a.match(/MicroMessenger/i) ? !0 : !1 } function renderPage() { var f = 1; g / h >= 320 / 486 ? (f = g / 486) : (f = g / 320); if(g == 320){ f = 1; } viewport.content = "width=320, initial-scale=" + f + ", maximum-scale=" + f + ", user-scalable=no"; if (320 != clientWidth && clientWidth == document.documentElement.clientWidth || isWeixin() && (navigator.userAgent.indexOf("Android") > -1 || navigator.userAgent.indexOf("Linux") > -1)) { var i = 320 / g, j = 486 / h, k = Math.max(i, j); k = k > 1 ? k : 160 * k, k = parseInt(k), viewport.content= "width=320, target-densitydpi=" + k ; } } renderPage();
/*! * AutoStrap v1.0.0 (http://largesoft.org) * Copyright 2015 Vern, Inc. */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; } body {line-height: 1; background-color: rgba(233,233,231,1);} body *{ max-width: 320px!important; font-family: "microsoft yahei"; } ol, ul {list-style: none;} blockquote, q {quotes: none;} blockquote:before, blockquote:after, q:before, q:after {content: '';content: none;} /* remember to define focus styles! */ :focus {outline: 0;} /* remember to highlight inserts somehow! */ ins {text-decoration: none;} del {text-decoration: line-through;} /* tables still need 'cellspacing="0"' in the markup */ table {border-collapse: collapse;border-spacing: 0;} hr{margin-top: 5px;margin-bottom: 5px;border: 0;border-top: 1px dashed #eee;}
本文向大家介绍支持移动端原生js轮播图,包括了支持移动端原生js轮播图的使用技巧和注意事项,需要的朋友参考一下 直接上代码,自行复制粘贴,本人是新手,欢迎指正。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍js解决movebox移动问题,包括了js解决movebox移动问题的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了js解决movebox移动问题,并且取消图片默认拖动事件的相关操作,供大家参考,具体内容如下 html: js: css: 以上就是本文的全部内容,希望对大家的学习有所帮助。
本文向大家介绍移动端滚动穿透是什么原因?有哪些解决方案?相关面试题,主要包含被问及移动端滚动穿透是什么原因?有哪些解决方案?时的应答技巧和注意事项,需要的朋友参考一下 https://segmentfault.com/a/1190000020321154
本文向大家介绍原生js实现移动端Touch轮播图的方法步骤,包括了原生js实现移动端Touch轮播图的方法步骤的使用技巧和注意事项,需要的朋友参考一下 Touch 轮播图 touch轮播图其实就是通过手指的滑动,来左右切换轮播图,下面我们通过一个案例,来实现下。 1. html 结构 结构上,还是用ul、li来存放轮播图片,ol、li来存放轮播小圆点: 2. 样式初始化 html的一些标签,都会有
本文向大家介绍基于原生js运动方式关键点的总结(推荐),包括了基于原生js运动方式关键点的总结(推荐)的使用技巧和注意事项,需要的朋友参考一下 主要方法:定时器的运用 setInterval(funnction(){},30); 为了避免最后时刻速度即将停止时的误差,可以采用下面的方法: 绝对值的运用(主要运用于弹性运动等速度有正负的情况): 弹性运动和摩擦力的组合: 模拟摩擦力: 减速运动: 加
本文向大家介绍原生js实现键盘控制div移动且解决停顿问题,包括了原生js实现键盘控制div移动且解决停顿问题的使用技巧和注意事项,需要的朋友参考一下 首先说明下为什么会停顿? 效果 :用键盘控制一个div移动 当按下一个方向键不放,div会先停顿一下,然后才开始持续移动。 原因:系统要区分用户是否连续输入,第一个到第二个之间有一个停顿时间 注:了解原因才能解决问题 效果展示 1.简单控制,但是有
移动端APP部署及安全解决方案 概述 InforMobile移动应用产品不仅支持在局域网(LAN)环境中的部署使用,也支持在internet(互联网)环境中的部署使用。局域网和互联网环境不同,局域网是一个相对封闭的内部网络环境,而互联网则是完全开放的网络,因此对服务部署和数据安全控制有明显的区别。针对企业安全方面的考虑和实际需要,InforMobile移动应用产品提供了一套完整的App部署及安全解
本文向大家介绍基于VUE移动音乐WEBAPP跨域请求失败的解决方法,包括了基于VUE移动音乐WEBAPP跨域请求失败的解决方法的使用技巧和注意事项,需要的朋友参考一下 在学习一位vue大牛的课程《VUE2.0移动端音乐App开发》时,由于vue的版本原因遇到了一些问题 这是其中之一,花费了很多的时间去解决 虽然搞定了这个问题,但是很多东西理解也不是很到位,下面详细说: 系统windows,vue版