移动项目前端小结(三)
时间:2019-11-13
本文章向大家介绍移动项目前端小结(三),主要包括移动项目前端小结(三)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
formdata上传注意点
formdata不能上传file类型的数据,但能上传blob;因此若需要上传文件时先转化为blob形式,再上传。
formData.append("filename", blob, `${file.name.split('.')[0]}.jpeg`);
文件类型数据转成URL(兼容性写法)
function getObjectURL(file){ var url=null; if(window.createObjectURL!=undefined){ // basic url=window.createObjectURL(file); }else if(window.URL!=undefined){ // mozilla(firefox) url=window.URL.createObjectURL(file); } else if(window.webkitURL!=undefined){ // webkit or chrome url=window.webkitURL.createObjectURL(file); } return url; }
微信浏览器中元素的背景图片问题
用微信浏览器打开html文件时背景图片无法显示,background-image、background:url()与图片相关的属性不起作用;
DOM元素绑定事件时传参
选中元素.bind('事件类型如:click',{参数名:参数值},函数名如:submitcb)
函数中通过event的data属性获取传过来的参数值如:
function submitcb(event){ console.log(event.data.参数名) }
移动端IOS10以上Safari页面不能禁止缩放问题
以下代码转载自:互联网学徒的掘金文章
window.onload=function () { document.addEventListener('touchstart',function (event) { if(event.touches.length>1){ event.preventDefault(); } }); var lastTouchEnd=0; document.addEventListener('touchend',function (event) { var now=(new Date()).getTime(); if(now-lastTouchEnd<=300){ event.preventDefault(); } lastTouchEnd=now; },false); document.addEventListener('gesturestart', function (event) { event.preventDefault(); }); }
注意:双击放大可以禁止,双指放大仍有bug
移动端 用伪元素实现右箭头 >
参考自jquery weui框架
div::before{ content: " "; display: inline-block; height: 6px; width: 6px; border-width: 2px 2px 0 0; border-color: #c8c8cd; border-style: solid; -webkit-transform: matrix(.71,.71,-.71,.71,0,0); transform: matrix(.71,.71,-.71,.71,0,0); position: absolute; top: 50%; right: 15px; margin-top: -4px; } /* matrix(-.71,.71,.71,.71,0,0):左箭头 < matrix(.71,-.71,.71,.71,0,0):上箭头 matrix(.71,.71,.71,-.71,0,0):下箭头 */
移动端 用伪元素实现1px边框
在移动端若设置的边框大小为1px,效果看起来会比较粗,不像是1px,可以通过缩小达到目的。
div::after{ content: " "; position: absolute; left: 0; bottom: 0; right: 0; height: 1px; border-top: 1px solid #e5e5e5; color: #e5e5e5; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: scaleY(0.5); transform: scaleY(0.5); z-index: 2; }
原文地址:https://www.cnblogs.com/mojimoji/p/11849260.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 6 年前,只会 JSP 和 Servlet 就可以找到工作
- Python文件处理实用指南
- 2. Pandas系列 - Series基本功能
- 1.3 广告算法专题 - 交叉验证
- 最好用的内网穿透工具合集
- JVM垃圾回收之垃圾回收器,程序员必须掌握的知识
- 5分钟Flink - 时间与语义案例详解
- 5分钟Flink - 时间语义和Watermark
- 3. Pandas系列 - DataFrame操作
- 4. Pandas系列 - 基本功能和统计操作
- 面经手册 · 第8篇《LinkedList插入速度比ArrayList快?你确定吗?》
- 无所不能的Embedding 2. FastText词向量&文本分类
- 5. Pandas系列 - 重建索引
- 6. Pandas系列 - 迭代
- Java 虚拟机基础原理:功能,内存管理,类的加载机制,分析字节码执行过程