| 导语 手Q终端原生的图片预览器支持图片翻页和各种手势,这些用H5怎样实现?基于alloyFinger,本文将介绍在手Q动漫上的图片预览组件是如何做到媲美原生体验的手势效果,同时也介绍一下关于图片手势效果里隐含的一些细节。希望对要实现手势交互和动画的前端同学有所启发。 作者:朱晓华--腾讯web前端工程师 @IMWeb前端社区 一、实现效果 先来看实现效果。目前已经上线的图片预览组件的路径如下:手Q动态——动漫——社区——点击图片。 类比手Q的AIO里的图片预览器,支持的手势和功能分别如下: 手Q动漫
Touch.js 是移动设备上的手势识别与事件库, 由百度云Clouda团队维护,也是在百度内部广泛使用的开发工具。 Touch.js手势库专为移动设备设计。 Touch.js对于网页设计师来说,是一款不错的辅助工具,可以减少很多写框架控制器的时间。 网页合理使用Touch.js不但能增加网页的美观感,而且在节约时间,减少人力投入也有极大的帮助。
有天,辛苦做了个复杂操作功能的页面,上线后有用户反馈:很多功能使用不了。惊了,以为是哪里出了bug。 立马联系用户,才发现原来是用户使用笔记本电脑,没有禁用触控板,然后不小心碰到导致整个界面都放大,很多功能超出界面不见了。 然而那能怎么办,用户第一,自然得快速解决这个问题,而且是触控板和触摸屏都得解决。
腾讯前端团队前几天在Github上发布了一个JS手势库 AlloyFinger 极其小巧,只有几K,但功能很全面,支持缩放、旋转、拖拽、单击、双击、滑动、长按 而且除了Dom对象外,还可以监听Canvas内元素的手势 在腾讯内部的应用已经非常广泛,例如 QQ群、QQ动漫、AlloyTeam 等团队和项目 官方示例 http://alloyteam.github.io/AlloyFinger/ 代码示例 实现对一个图片的移动和缩放 <!DOCTYPE html> <html> <head> <
「前端实验室」 专注分享 Github、Gitee 等开源社区优质的前端项目、前端技术、前端学习资源以及前端资讯等各种有趣实用的前端内容。
一般情况下 CSS 并不会影响 JS 事件,但有一个 CSS 属性则比较特殊,那就是 pointer-events,它可以用来规避鼠标事件,其中大部分属性值只适用于 SVG(可缩放矢量图形)操作,而我们只需要关注其 none 属性值,该值表示鼠标事件“穿透”该元素并且指定该元素“下面”的任何东西。
要实现Android和IOS浏览器禁止页面缩放,通用的设置方式是给HTML页面设置meta标签来实现,具体添加标签内容如下:
在前两篇文章里面分别谈了Weex如何在Native端初始化的和Weex是如何高效的渲染Native的原生UI的。Native这边还缺一块,那就是Native产生的一些事件,是怎么传回给JS的。这篇文章就详细分析这一部分。
在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件。接下来给大家简单总结一下移动端的事件。
在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件。接下来给大家简单总结一下移动端的事件。 1. PC端事件在移动端的兼容问题 1.1 click事件的200~300ms延迟问题 由于移动端默认的布局视口宽度是980像素,所以网页文字非常小,为了快速让网页还原到原来的大小,Safari最新引入了双击缩放功能:用户双击手机页面的时候,浏览器会智能的缩放当前页面到原始大小。 双击缩放的原理就是,当用户click一次之后,浏览器会经过约300ms之后检测是否再有一次click,如果有的话,
相信大家搜css touch-action很容易搜到一批文章,但感觉自己还是需要写下自己这这个过程中的一些探索经历。
文 | 严灏 上周,知晓程序向大家分享了「知了地铁」小程序的上手体验。同时,我们也在这篇文章中提过,会与大家讨论有关小程序中手势缩放功能的实现。 关注知晓程序(微信号 zxcx0101),回复「知了地
今天在写vue项目的时候碰到一个 Unable to preventDefault inside passive event listener due to target being treated as passive. See <URL> 这样的bug 然后找了一通发现可以用 *{touch-action:none}这个方法 用法是禁用元素(及其不可滚动的后代)上的所有手势,以使用自己提供的拖放和缩放行为(如地图或游戏表面)。 由此找了其他的属性值 发现还挺强大的
前言:本文将围绕:了解什么是全景 --> 怎么构成全景 --> 全景交互原理来进行讲解,手把手教你从零基础实现一个酷炫的Web全景,并讲解其中的原理。小白也能学习,建议收藏学习,有任何疑问,请在评论区讨论,笔者经常查看并回复。
搜狗地图发布了新版的移动端地铁图,改版初衷是为了用户交互体验的提升以及性能的改善。原版地铁图被用户吐槽最多的是pinch缩放不流畅、无过渡动画、拖拽边界不合理等等,大体上都是交互体验上的问题。实际上原版的问题不仅仅存在于交互体验上,源代码也是一团糟: 无模块化概念; 存在冗余逻辑和文件; 滥用第三方库&工具; UI的更新仍旧是直接操作DOM; 构建&发布流程不规范。 以上问题其实跟业务以及技术选型无关,可以说是任何一个“历史悠久”的项目都难以避免的问题。针对以上问题的重构方案不是本文要阐述的核心,所以就一笔
types string 事件的类型(多为手势事件),可接受多个事件以空格分开;支持原生事件的透传
哈~~ 福利又来了,快到周末了,按照惯例今天肯定是来一波总结的,总结一下这周给小伙伴们带来了哪个好用的知识和框架,方便大家学习,不迷路~~
项目开发中,大家APP开发一般都会用到上传图片,比如是上传了自己的生活照,然后在某个界面处查看上传的图片,这时候一般在这个查看详情的界面,会有手势放大缩小功能,手势进行旋转功能,双击放大图片等等。
灯箱效果是我一直想加又没有加的功能,正好最近百度在推移动落地页检测,顺手做一下优化
对象应包含三个属性:X(X位置,相对于文档),Y(Y位置,相对于文档),W(元素的宽度)。高度会自动根据大的图像大小来计算。例如,如果您返回{X:0,Y:0,W:50}缩放动画将在你的页面的左上角开始。
手势在用户交互中有着举足轻重的作用,这篇文字简单的介绍了iOS中的手势,并通过手势对控件进行变形处理。若有错误,或不同的见解,请指正! 手势 ---- iOS手势分为下面这几种: UITapGestureRecognizer(点按) UIPanGestureRecognizer(拖动) UIScreenEdgePanGestureRecognizer (边缘拖动) UIPinchGestureRecognizer(捏合) UIRotationGestureRecognizer(旋转) UILongPr
这些手势大都继承于UIGestureRecognizer类,(UIScreenEdgePanGestureRecognizer继承于UIPanGestureRecognizer类),
UIWebView自iOS2就有,WKWebView从iOS8.0(2014年9月WWDC)才有,毫无疑问,WKWebView相对UIWebVIew要优秀得多,主要表现在以下几点:
前段时间,知晓程序分享了「知了交通」和「苹果购物指南」这两个小程序的上手功能体验和开发经验。 关注微信号 zxcx0101,回复「上手」,获得这两款小程序的上手体验报告。 今天,我们要给大家带来爱范儿
在项目中遇到一个问题,在拖动或者缩放百度地图的时候要请求数据。但是百度地图SDK中没有明确如何获取拖动和缩放手势 官方推荐使用如下两个方法,通过判断状态来获取,但是也没有明确怎么判断。还有个问题就是如果在regionDidChangeAnimated请求数据的话,产品还有个需百度地图的中心点以最新一条数据的经纬度移动。只要中心点移动了又会调用regionDidChangeAnimated,这样就会造成多次请求接口。
1:GMU:http://cloudajs.org/ui/brand/gmu GMU是基于zepto的mobile UI组件库,提供webapp、pad端简单易用的UI组件! http://gmu.b
从本篇文章开始要写一个新的可视化库的系列文章:Highcharts。对这个库来自官网的赞美:
来源: 铁皮饭盒https://juejin.im/post/5d89cd156fb9a06acb3ee19e
在pub上面找了下,没有发现一个效果跟微信一样的支持缩放拖拽效果的image,所以就自己撸了一个,之前写过Flutter 什么功能都有的Image,于是就在这个上面新增了这个功能。
不同于众多的内置控件,SwiftUI 没有采用对 UIGestureRecognizer(或 NSGestureRecognizer)进行包装的形式,而是重构了自己的手势体系。SwiftUI 手势在某种程度上降低了使用门槛,但由于缺乏提供底层数据的 API,严重制约了开发者的深度定制能力。在 SwiftUI 下,我们无法拥有类似构建全新 UIGestureRecongnizer 的能力。所谓的自定义手势,其实只是对系统预置手势的重构而已。本文将通过几个示例,演示如何使用 SwiftUI 提供的原生手段定制所需手势。
现在让我们看看 Flutter 平台提供的手势类型以及可以使用哪些小部件来执行这些手势。我们还将研究一些用例,来判断如何在理想情况下应该使用手势。
iOS设备现如今大受欢迎的最重要原因之一就在于其开创了触控操作的潮流。发展到现在,无论是Android还是iPhone,现在APP与用户进行交互,基本上都是依赖于各种各样的触控事件。例如用户对屏幕进行了侧滑,APP就需要对这个手势进行相应的处理,给用户一个反馈。这些相应的事件就都是在UIResponder中定义的。 广告插播的措不及防:如果您要是觉得这篇文章让您有点收获,随手点个赞会让俺兴奋好久吶。 UIResponder大体有四类事件:触摸、加速计、远程控制、按压(iOS9.0以后出来的,3DTou
默认是会调用其[super touchesXXX],这个super就是上一个响应者
以往拿到一份视觉稿要做页面适配,通常都是针对不同分辨率尺寸做断点写 media query,然后看效果再微调。开发过程中视觉稿要是做了修改,修改的地方就得再走一遍分辨率测试和微调,这时想屎的心都有了。而且这些适配都是建立在已 知的分辨率尺寸库上,如果市面新出来一款分辨率尺寸机型,呵呵,又要奔跑在测试微调路上。是不是能有用一套代码就适应各种分辨率窗口,那么就不会再有上面 这些烦恼,且开发效率快和维护成本会降低很多。 答案是有的,而且这种形式最早出现于 flash 全屏整站,前阵子拜读了举总介绍的一篇文章关于图
功能描述:支持网络和本地gif、jpeg等格式图片的浏览、捏合或双击放大缩小、长按保存到本地相册、获取gif图片的循环次数和时长。 效果预览.gif 主要部分:创建一个继承于UIScrollView的
CGAffineTransform A structure for holding an affine transformation matrix. 以上是它的定义,其实就是一个矩阵的结构体,经常用于动画,形状变换。 包含如下参数: struct CGAffineTransform { CGFloat a; CGFloat b; CGFloat c; CGFloat d; CGFloat tx; CGFloat ty; }; typedef struct CGAffineTransform CGAf
在移动端 WEB 开发的时候(小程序也雷同),如上录屏所示,如果页面超过一屏高度出现滚动条时,在 fixed 定位的弹窗遮罩层上进行滑动,它下面的内容也会跟着一起滚动,看起来好像事件穿透到下面的DOM元素上一样,我们姑且称之为滚动穿透。
在本文中,我们将了解 HarmonyOs 中的华为地图套件。地图工具包是用于地图开发的 SDK。覆盖200多个国家和地区的地图数据,支持70多种语言。使用此 SDK,您可以轻松地将基于地图的功能集成到您的 HarmonyOs 应用程序中。
继 《Flutter 绘制指南 - 妙笔生花》 小册之后,经过小半年的业余时间:从整体构思到代码案例实现,从源码调试 到 分析码字,我的第二本小册 《Flutter 手势探索 - 执掌天下》 终于和大家见面了。
Unite Gallery是一个基于jquery库的多用途jаvascript库。它采用模块化技术构建,注重易用性和定制性。自定义图库,使用CSS更改其皮肤,甚至编写自己的主题都非常容易。但是,这个画廊非常强大,快速,并具有大多数现代功能,例如响应能力,触摸控制甚至缩放功能,这是一种独特的效果。
在预览图片的时候,利用手势控制图片的缩放、平移,已经是智能手机时代最基本的操作。而对于视频,很少有播放器支持这样的操作。实际上,在观看视频的时候,我们可能会想观看某个区域的局部细节,需要把该区域放大来观看,EasyPlayer播放器基于这样的需求,提供了局部放大的功能。
以往拿到一份视觉稿要做页面适配,通常都是针对不同分辨率尺寸做断点写 media query,然后看效果再微调。开发过程中视觉稿要是做了修改,修改的地方就得再走一遍分辨率测试和微调,这时想屎的心都有了。而且这些适配都是建立在已 知的分辨率尺寸库上,如果市面新出来一款分辨率尺寸机型,呵呵,又要奔跑在测试微调路上。是不是能有用一套代码就适应各种分辨率窗口,那么就不会再有上面 这些烦恼,且开发效率快和维护成本会降低很多。 答案是有的,而且这种形式最早出现于 flash 全屏整站,前阵子拜读了举总介绍的一篇文章关于
前两篇讲到了地图的基础显示和地图类型,今天来记录下高德地图交互相关的设置。地图的触摸事件很丰富,有单击、双击、单指拖拽、双指拖拽、双指旋转、双指缩放等,高德提供了api来设置这些用户交互,还包含地图截图,这也算是用户交互。好了,废话不多说,开始今天的Android高德之旅。
svg平移缩放,我刚开始尝试的是自己处理外层容器的控制,结果发现能用,但是效果不太好,有拖尾现象,后来用个js库svg-pan-zoom即可。如果想支持手机端手势操作,需要先安装Hammer.js。
iPhone中处理触摸屏的操作,在3.2之前是主要使用的是由UIResponder而来的如下4种方式:
首先讲了移动端和电脑端的一些不同,讲到了viewport的概念和相关的虚拟像素、媒体查询,借助媒体查询来实现横屏、竖屏的区别显示。
有用户反馈美团打车地图的性能有一些问题,美团打车技术团队在调研分析之后,采用了一套Native地图与Web的融合框架,不仅实现了用户手势事件智能分发的机制,还解决了WebView与Native地图在同一页面内布局困难的问题,同时性能也得到全面的优化。本文系融合技术的经验总结与分享。
在代码中修改textview的Drawable 和 使用webview 加载网页
领取专属 10元无门槛券
手把手带您无忧上云