首页 > 其他分享 >移动端-常见特效

移动端-常见特效

时间:2022-11-19 20:59:51浏览次数:46  
标签:function 特效 classList 常见 body 300ms div 移动 类名

移动端-常见特效

1.classList属性

classList属性是HTML5新增的一个属性,返回元素的类名。但是ie10以上版本支持。该属性用于在元素中添加,移除及切换CSS类。有以下方法

添加类∶

element.classList.add (’类名’);

focus.classList.add ( 'current" ) ;

移除类∶

element.classList.remove ( ’类名’);

切换类∶

element.classList.toggle (’类名’);

<div class="one two"></div>
<script>
	// classList返回元素的类名
	var div = document.querySelector( 'div ' );l / 				console.log(div.classList[1]);
	// 1.添加类名是在后面追加类名不会覆盖以前的类名注意前面不需要		加.div.classList.add( ' three ' );
	// 2.删除类名
	div.classList.remove( 'one ' );
	// 3.切换类
	var btn = document.queryselector( ' button ' );
	btn.addEventListener( 'click ' , function() {
	//当点击按钮时,body没有bg类名则添加bg类名到body上,body背景颜色变为黑色
	//当点击按钮button时,body有bg类名则移除该类名,背景为默认颜色
	document.body.classList.toggle( 'bg'); 
	})
</ script>

2.click延时解决方案

移动端click事件会有300ms的延时,原因是移动端屏幕双击会缩放(double tap to zoom)页面。解决方案︰

1.禁用缩放。浏览器禁用默认的双击缩放行为并且去掉300ms的点击延迟。

<meta name="viewport" content="user-scalable=no">

2.利用touch事件自己封装这个事件解决300ms延迟。

原理就是∶

1.当我们手指触摸屏幕,记录当前触摸时间

2.当我们手指离开屏幕,用离开的时间减去触摸的时间

3.如果时间小于150ms,并且没有滑动过屏幕,那么我们就定义为点击

//封装tap,解决click 300ms 延时
function tap (obj, callback){
	var isMove = false;
	var startTime = 0; //记录触摸时候的时间变量
	obj.addEventListener ( 'touchstart ', function (e) {
		startTime = Date.now () ; //记录触摸时间
	});
	
	obj.addEventListener ( 'touchmove' , function (e){
		isMove = true;//看看是否有滑动,有滑动算拖拽,不算点击
	});
	
	obj.addEventListener ( 'touchend ' , function (e) {
		//如果手指触摸和离开时间小于150ms 算点击
		if (!isMove && (Date.now () - startTime)< 150){
			callback && callback (); //执行回调函数
		}
		isMove = false;1/取反重置startTime = 0;
	});
}
//调用
tap (aiv, function ({
	//执行代码
});

3.使用插件。。

fastclick插件解决300ms延迟。

标签:function,特效,classList,常见,body,300ms,div,移动,类名
From: https://www.cnblogs.com/chichi0002/p/16906998.html

相关文章

  • 移动端-常用开发插件
    移动端-常用开发插件1.什么是插件移动端要求的是快速开发,所以我们经常会借助于一些插件来帮我完成操作,那么什么是插件呢?JS插件是js文件,它遵循一定规范编写,方便程序展示......
  • 移动端-常用开发框架
    移动端-常用开发框架1.框架概述框架,顾名思义就是一套架构,它会基于自身的特点向用户提供一套较为完整的解决方案。框架的控制权在框架本身,使用者要按照框架所规定的某种规......
  • 移动端-触屏事件
    移动端-触屏事件1.触屏事件概述touch对象代表一个触摸点。触摸点可能是一根手指,也可能是一根触摸笔。触屏事件可响应用户手指(或触控笔)对屏幕或者触控板操作。常见的触屏......
  • Spring的一些常见面试题
    Spring八股文反射1、谈谈springioc的理解,原理和实现?总:两层意思:控制反转和容器。控制反转:他是一种思想理论,原来的对象是由我们使用者自己来进行控制的,而有了spring之后......
  • 前端面试题:移动端和PC端的区别?
    移动端与PC端主要的区别其实是兼容问题;移动端开发主要考虑的就是分辨率的适配,和不同操作系统的差异化。还有就是移动端的布局自适应;解决布局适应的方法有:rem,em,vw,v......
  • App 隐私合规常见问题及整改方案
    1.超范围收集个人信息1.1问题概述隐私政策中明示个人信息收集使用收集规则,但未清晰明示APP或第三方SDK收集IMEI、MAC地址、运行中进程信息等所有个人信息的目的、方式......
  • 常见用户特征分析的方法
    常见的用户特征分析方法有用户画像分析、聚类分析、监督模型、RFM用户分群。1、用户画像分析用户画像分析就是基于大量的数据,建立用户的属性标签体系,同时利用这种属性标签体......
  • 主动打包:逐浪HMS主题大师1.3-即速推送、华为小组件缓存优化、锁屏提取、资源审计、技
    主动打包:逐浪HMS主题大师1.3-即速推送、华为小组件缓存优化、锁屏提取、资源审计、技术秘笈,移动主题设计利器逐浪HMS主题大师介绍软件架构使用环境启动使用捐赠我......
  • Redis 常见问题
    Redis常见问题落叶他乡树,寒灯独夜人。一、什么是Redis?Redis是一个使用C语言写成的,开源的高性能key-value非关系缓存数据库;Redis的数据都基于缓存的,......
  • 移动端点击穿透问题解决
    js解决方案1、只用touch把页面内所有click全部换成touch事件(touchstart、touchend、tap),需要特别注意a标签,a标签的href也是click,需要去掉换成js控制的跳转,或者直接改成......