距离上一次发文都过去十天了, 下班回来懒的就想睡觉, 今天520一个重要的节日, 恩爱已经秀完, 该干点事情了!!

总结一下最近开发遇到的一些问题, 以及解决方案

纯css三角形

/* 没有哪个方向的边框, 三角形就朝向那边 */
width: 0;
height: 0;
border-top: .5rem solid transparent;
border-left: 1rem solid red;
border-bottom: .5rem solid transparent;

:after和:before伪元素

在设置宽高之前,必须先设置display属性

:before {
content: "";
display: inline-block;
width: .18rem;
height: .18rem;
background-color: #f00;
}

禁止换行, 使文字在一行内显示

white-space:nowrap;
overflow: hidden;
text-overflow: ellipsis;

朋友圈上传图片, 根据图片数量自适应大小

// 根据上传图片的多少自适应图片的大小
(function() {
// 获取所有有图片内容的容器, apicloud的选择器, 其他选择器亦可
var listContent = $api.domAll('.listContent'); for (var i = 0; i < listContent.length; i++) {
// 每个图片容器中有几个图片
var imgArr = listContent[i].getElementsByClassName('content_img'); var imgCount = imgArr.length
// 根据每个容器中的图片输了设置当前容器中图片的尺寸
if (imgCount == 1) {
$api.css(listContent[i].getElementsByClassName('content_img')[i], 'width:2.86rem;margin:0'); } else if (imgCount == 2 || imgCount == 4) {
for (var j = 0; j < imgCount; j++) {
$api.css(listContent[i].getElementsByClassName('content_img')[j], 'height:2.78rem');
}
} else {
for (var j = 0; j < imgCount; j++) {
$api.css(listContent[i].getElementsByClassName('content_img')[j], 'height:1.8rem');
}
}
}
})()

qq历史聊天记录--网页面上部添加标签后不滚动

// 获取历史聊天记录前 页面高度
mainH=$api.offset($api.dom('.main')).h;
_main = mainH // 修改获取聊天记录后的页面位置
mainH = $api.offset($api.dom('.main')).h;
scrollH = mainH - _main;
_main = mainH;
window.scrollTo(0,scrollH-50);

apicloud阻止冒泡事件

// 添加到标签上
// 阻止默认事件
onclick = 'event.preventDefault();'
// 阻止冒泡事件
onclick = 'event.stopPropagation();'
// 或者
onclick = 'api.closeWin();event.preventDefault();'
onclick = 'api.closeWin();event.stopPropagation();'

排他原则(干掉所有人,留下我自己)

function li_span(ele) {
// 选择传入元素的所有同级元素
var allDom = ele.parentNode.childNodes
for (var i = 0; i < allDom.length; i++) {
$api.removeCls(allDom[i], 'sel');
}
$api.addCls(ele, 'sel');
}

android4.4 兼容flex

定义


.box{
display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */
display: -moz-box; /* 老版本语法: Firefox (buggy) */
display: -ms-flexbox; /* 混合版本语法: IE 10 */
display: -webkit-flex; /* 新版本语法: Chrome 21+ */
display: flex; /* 新版本语法: Opera 12.1, Firefox 22+ */
}

主轴对齐方式

.box{
-webkit-box-pack: center;
-moz-justify-content: center;
-webkit-justify-content: center;
justify-content: center;
} /* 旧版语法有4个参数,而新版语法有5个参数,兼容写法新版语法的 space-around 是不可用的 */ .box{
box-pack: start | end | center | justify;
/*主轴对齐:左对齐(默认) | 右对齐 | 居中对齐 | 左右对齐*/ justify-content: flex-start | flex-end | center | space-between | space-around;
/*主轴对齐方式:左对齐(默认) | 右对齐 | 居中对齐 | 两端对齐 | 平均分布*/
}

侧轴对齐方式

.box{
-webkit-box-align: center;
-moz-align-items: center;
-webkit-align-items: center;
align-items: center;
}
/* 参数 */
.box{
box-align: start | end | center | baseline | stretch;
/*交叉轴对齐:顶部对齐(默认) | 底部对齐 | 居中对齐 | 文本基线对齐 | 上下对齐并铺满*/ align-items: flex-start | flex-end | center | baseline | stretch;
/*交叉轴对齐方式:顶部对齐(默认) | 底部对齐 | 居中对齐 | 上下对齐并铺满 | 文本基线对齐*/
}

显示方向

  • 左到右
.box{
-webkit-box-direction: normal;
-webkit-box-orient: horizontal;
-moz-flex-direction: row;
-webkit-flex-direction: row;
flex-direction: row;
}

右到左

.box{
-webkit-box-pack: end;
-webkit-box-direction: reverse;
-webkit-box-orient: horizontal;
-moz-flex-direction: row-reverse;
-webkit-flex-direction: row-reverse;
flex-direction: row-reverse;
}

上到下

.box{
-webkit-box-direction: normal;
-webkit-box-orient: vertical;
-moz-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
}

下到上

.box{
-webkit-box-pack: end;
-webkit-box-direction: reverse;
-webkit-box-orient: vertical;
-moz-flex-direction: column-reverse;
-webkit-flex-direction: column-reverse;
flex-direction: column-reverse;
}

是否允许子元素伸缩

.item{
-webkit-box-flex: 1.0;
-moz-flex-grow: 1;
-webkit-flex-grow: 1;
flex-grow: 1;
}
/* 参数 */
.item{
box-flex: <value>;
/*伸缩:<一个浮点数,默认为0.0,即表示不可伸缩,大于0的值可伸缩,柔性相对>*/ flex-grow: <number>; /* default 0 */
/*放大:默认0(即如果有剩余空间也不放大,值为1则放大,2是1的双倍大小,以此类推)*/ flex-shrink: <number>; /* default 1 */
/*缩小:默认1(如果空间不足则会缩小,值为0不缩小)*/
}

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQoAAAEJCAMAAABbgZlVAAAApVBMVEX/////s1n5Ymg2vJn/+tX/4uX///D/+uXy//822eWNvJnf///M+v////k20eE2vNg2vLGzvJns///p/f3/+vet8fVP4uv/7+r49d3/8NFP0NE2xMTAzZmEyJn4///T+v+59v+B7PX/+u/4+u9P5e+H5+vy8M//4Mvy7sU2vMXZ58Lf5bXG4bXT25nG1ZmnvJmHvJl7vJlbvJlPvJn/yJL/yoL/s3hhNYDqAAAB6ElEQVR42u3Vx04DMRRA0QcmJEACgST03nuH//80UkBsEBLFYGXO3Y7nLY5cIiRJkiRJkiRJkiTprcmxCwUKFCjyU3z778JCgQIFir+kSF/ufcrEv4cCBQoUKFCgQIECBQoUKFCgQIEiF8XzU/EU7aNORPf8PifF48lKN6ZKp2j3RquOH/JR1IYTiqdY3h6tal1lpNhfWymfor0bsbq13oxYy3pX1MqnWJiL1nV/b0TUbytOMdOI+mxK80sxvYhiQNHfHChQfHBAbipOMd+J6c2UDvvX5l3FKc6aw8d0J+K06o9p2ntdNdgbuShqb0N+pJGdYqM5/NS6SJWnSBu9RsTBZULxeb9D8TuhQIECBQoUKFCgQIECBQoUKFCgqAbFGIQCBQoUKFCgQIECBQoUKFCgKCQUKFCgQIECBQoUKFCgQIECRSGhQIECBQoUKFCgQIECBQoUKAoJBQoUKFCgQIECBQoUKFCgQFFIKFCgQIECBQoUKFCgQIECBYpCQoECBQoUKFCgQIECBQoUKFAUEgoUKFCgQIECBQoUKFCgQIGikFCgQIECBQoUKFCgQIECBQoUhYQCBQoUKFCgQIECBQoUKFCgKCQUKFCgQIECBQoUJVKMVShQoECRlUKSJEmSJEmSJEmSKtALjStdfHLpgssAAAAASUVORK5CYII=" alt="">

触摸对象

以下是四种touch事件

touchstart: //手指放到屏幕上时触发

touchmove: //手指在屏幕上滑动式触发

touchend: //手指离开屏幕时触发

touchcancel: //系统取消touch事件的时候触发,这个好像比较少用

每个触摸事件被触发后,会生成一个event对象,event对象里额外包括以下三个触摸列表

touches: //当前屏幕上所有手指的列表

targetTouches: //当前dom元素上手指的列表,尽量使用这个代替touches

changedTouches: //涉及当前事件的手指的列表,尽量使用这个代替touches

这些列表里的每次触摸由touch对象组成,touch对象里包含着触摸信息,主要属性如下:

clientX / clientY: //触摸点相对浏览器窗口的位置

pageX / pageY: //触摸点相对于页面的位置

screenX / screenY: //触摸点相对于屏幕的位置

identifier: //touch对象的ID

target: //当前的DOM元素

ios系统下 数字变蓝

多位数字在ios系统下会被识别为电话变得可点击

<!-- 阻止方法加meta标签 -->

<meta name="format-detection" content="telephone=no" />

textarea去掉右下角可拖动按钮

可以使用 resize: none; 来禁用 textarea 右下角的拖动图标。

apicloud获取本地文件路径

api.fsDir

欢迎访问我的博客http://www.yuanjingzhuang.com/

APICloud框架——总结一下最近开发APP遇到的一些问题的更多相关文章

  1. APICloud框架——总结一下最近开发APP遇到的一些问题 (三)

    ajax报错 Uncaught DOMException: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 需要在服务器环境下 ...

  2. APICloud框架——总结一下最近开发APP遇到的一些问题 (二)

    高度自适应 flex布局 允许子元素伸缩 手机号正则 function checkPhone(data){ if(!(/^1[34578]\d{9}$/.test(data))){ alert(&qu ...

  3. 前端开发app

    1.如果是 Angular 那就选 Ionic (一对好 CP) 2.如果是 Vue 那就选 Vux (基于 WeUI)3.如果是 jQuery 那就选 Framework7 (iOS 和 Andro ...

  4. APICloud开发App总结(一)

    apiCloud app 开发是最近一两年刚刚兴起的一种混合开发方式.常用的模块以原生方式开发好,然后用js进行粘合.组织,完成整个的app的逻辑.这种开发方式极大的提高了软件模块的复用率,加快了ap ...

  5. APICloud:轻松6步完成App软件开发

    现如今,谁不知道App绝对就是OUT,谁不用App简直没法过日子!但是说到App软件开发,不懂编程,不懂技术的人就一脸懵圈.在门外汉来看,App软件开发是一件非常困难的事情,然而APICloud却说, ...

  6. unity3d开发app的框架

    unity3d开发app的框架,开源地址 https://coding.net/u/liuhaili/p/U3DApp/git 希望能和有相同兴趣的朋友一起完善 打开Scene下的MainUI场景 目 ...

  7. 使用mui框架开发App,当input获取焦点时,键盘弹出,底部导航栏上升。

    转自 https://blog.csdn.net/elementFei/article/details/72917393 感谢 问题: 使用mui框架开发App,当input获取焦点时,键盘弹出,底部 ...

  8. H5开发APP考题和答案

    { "last_updated": { "$date": 1544276670569 }, "page_count": 1, "a ...

  9. 【初探IONIC】不会Native可不可以开发APP?

    前言 Hybrid技术流行已经有一段日子了,楼主的关注点也一直围绕着移动端围绕着Hybrid相关展开,Hybrid已经是大大提升开发效率的开发方式了,但是仍然需要至少一个IOS与Andriod,那么可 ...

随机推荐

  1. Spring框架下的单元测试

    一.使用spring中对Junit框架的整合功能 除了junit4和spring的jar包,还需要spring-test.jar.引入如下依赖: <dependency> <grou ...

  2. JavaWeb之cookie

    什么叫做会话 ? 用户从打开一个浏览器开始,浏览器网站,到关闭浏览器的整个过程叫做一次会话! 每个用户与服务器进行交互的过程中,各自会有一些数据,程序要想办法保存每个用户的数据. 例如:用户点击超链接 ...

  3. vue.js如何在标签属性中插入变量参数

    html的标签的属性,比如id.class.href需要动态传递参数,拼接字符串,查了一些资料,并没有找到合适的解决方法,琢磨了一上午,终于试出了方法: v-bind:属性=" '字符串'+ ...

  4. poj 3070 Fibonacci (矩阵快速幂乘/模板)

    题意:给你一个n,输出Fibonacci (n)%10000的结果 思路:裸矩阵快速幂乘,直接套模板 代码: #include <cstdio> #include <cstring& ...

  5. 某直播App问题分析

    某直播App问题分析 一. 出现问题 观看自己开播的直播间,经常出现卡顿,而且画面一卡6,7s,重新播放时会出现跳帧,卡顿频率也较高,导致该App可用性极低. 二. 分析 1. 直播架构分析 根据lo ...

  6. Java基础学习(六)—List

    一.List 1.List集合特有功能 /* * List集合的特有功能: * A:添加功能 * void add(int index,Object element):在指定位置添加元素 * B:获取 ...

  7. 1101: 零起点学算法08——简单的输入和计算(a+b)

    1101: 零起点学算法08--简单的输入和计算(a+b) Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lldSubmitt ...

  8. 深入浅出分析MySQL索引设计背后的数据结构

    在我们公司的DB规范中,明确规定: 1.建表语句必须明确指定主键 2.无特殊情况,主键必须单调递增 对于这项规定,很多研发小伙伴不理解.本文就来深入简出地分析MySQL索引设计背后的数据结构和算法,从 ...

  9. ios 苹果手机硬件摘要

    IPhone4 * 2010年发布. * A4单核处理器. * 3.5英寸Retina显示屏(视网膜屏幕),960x640像素分辨率. * 后置摄像头500万像素. * 前置摄像头30万像素. IPh ...

  10. HDU 3948 不同回文子串个数

    集训队论文中有求不同子串个数的做法,就是扫一遍height数组,过程中根据height数组进行去重.对于本题也是雷同的,只是每一次不是根据与排名在上一位的LCP去重,而是与上一次统计对答案有贡献的后缀 ...