当前位置: 首页 > news >正文

手机网站模板更换方法简洁ppt模板下载 免费

手机网站模板更换方法,简洁ppt模板下载 免费,网站建设举措,郑州网站制作招聘楔子 在前端的开发中#xff0c;我们都是直接与用户接触#xff0c;应该尽量让用户感到操作畅快愉悦#xff0c;获得类似native的感觉。其中动画是最常用的方法。 这里的需求是#xff0c;弹层的设计#xff0c;这个弹层希望可以像 native 上的弹层一样#xff0c;点击…楔子 在前端的开发中我们都是直接与用户接触应该尽量让用户感到操作畅快愉悦获得类似native的感觉。其中动画是最常用的方法。 这里的需求是弹层的设计这个弹层希望可以像 native 上的弹层一样点击按钮出现点击遮罩或按钮时关闭并且出现和关闭时有动画效果fadeslide等。 问题 在关闭弹层时以fadeOut动画效果为例我这里是利用opacity从1 - 0的过程模拟逐渐消失的动画过程container是弹层组件最外层容器 .container {position: fixed;left: 0;top: 0;width: 100%;height: 100%;z-index: 9999;animation: .5s fadeOut forwards; } keyframes fadeOut {0% {opacity: 1;}100% {opacity: 0;} }问题是opacity为0只是container内的元素透明不可见的container仍然存在于dom节点中。当我们给弹层的蒙层mask绑定关闭事件时由于container的z-index非常大点击事件都会触发在mask上。 transitionend和animationend事件 为了解决上述问题同时让用户体验更好我们可以通过监听transitionend和animationend事件等动画效果执行完再将container节点隐藏displaynone。这样就不会出现mask拦截点击事件的问题了。 简介 采用CSS技术生成的动画效果我们可以在JS中捕获动画或变换的结束事件transitionend和animationend事件标准的浏览器事件。 transitionend 事件会在 CSS transition 结束后触发。 animationend 事件会在一个 CSS 动画完成时触发不包括完成前就已终止的情况例如元素变得不可见或者动画从元素中移除。 代码示例 /** 在container元素上监听transitionend事件* 然后指定一个函数, 例如 showMessage()*/ function showMessage() {console.log(Transition 已完成); }var element document.getElementById(container); element.addEventListener(transitionend, showMessage, false);浏览器兼容性 以transitionend事件为例animationend事件相似。 可以看出在WebKit浏览器里仍然需要使用webkit前缀所以我们需要根据各种浏览器分别检测事件。缺点 我的需求是这个弹层组件可能会频繁调用即用户关闭弹层后会再次打开。 使用这种方案通过监听动画结束事件在displaynone和displayblock之间切换但是这会增加浏览器渲染重绘和重排成本且要考虑浏览器兼容性需要根据各种浏览器分别检测事件。 pointer-events CSS 属性 有没有更优雅更简单的解决呢下面介绍我们的主角pointer-events。 需要注意的是这个pointer-events不同于Pointer Events用于处理来自设备包括鼠标笔触摸屏等的硬件指针输入的事件和相关接口。 简介 The ‘pointer-events’ property specifies under what circumstances a given graphics element can be the target element for a pointer event. It affects the circumstances under which the following are processed: user interface events such as mouse clicksdynamic pseudo-classes (i.e., :hover, :active and :focus; [CSS2], section 5.11)hyperlinks 简而言之pointer-events CSS 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件的 target。 规范 Its extension to HTML elements, though present in early drafts of CSS Basic User Interface Module Level 3, has been pushed to its level 4. 它主要针对的是SVG但已经扩展到其他html元素。 语法 /* Keyword values */ pointer-events: auto; pointer-events: none; pointer-events: visiblePainted; /* SVG only */ pointer-events: visibleFill; /* SVG only */ pointer-events: visibleStroke; /* SVG only */ pointer-events: visible; /* SVG only */ pointer-events: painted; /* SVG only */ pointer-events: fill; /* SVG only */ pointer-events: stroke; /* SVG only */ pointer-events: all; /* SVG only */比如说pointer-events: visibleFill; 这个只适用于SVG只有在元素的visibility属性为visible时且鼠标指针在元素内部时元素才会成为鼠标事件的目标fill属性不影响事件处理。 其他只适用于SVG的属性介绍不再赘述可以参考 这里 。 在这里我们更关注[auto|none]两个属性值。这两个属性值用在其他html元素上也很有意思。 当值为auto时。与pointer-events属性未指定时的表现效果相同对于SVG内容该值与visiblePainted效果相同。 当值为none时元素永远不会成为鼠标事件的target。换而言之值none表示鼠标事件“穿透”该元素并且指定该元素“下面”的任何东西。 浏览器兼容性 可以看出pointer-events兼容绝大多数移动端浏览器且没有前缀要求。注意的点 当pointer-events值为none时不一定说明该元素的事件监听事件永远不会被触发。如果他的子元素有明确的设定pointer-events属性且指定自己能成为鼠标事件的目标那么触发的过程会通过事件冒泡传到父元素父元素的事件监听事件就会被触发。 总结 在弹层组件可能会频繁调用的情况下使用pointer-events方案即点击遮罩或按钮时关闭时设置container动画效果和pointer-eventsnone弹层出现时再设置pointer-eventsauto。这样只需改变css的属性即可解决问题。 若有不对之处或其他更优雅的解决办法欢迎各位的指正和交流。 更多专业前端知识请上 【猿2048】www.mk2048.com
http://www.pierceye.com/news/931571/

相关文章:

  • 安徽省建设厅证书查询官方网站关键词优化公司如何选择
  • io游戏网站青岛网站优化排名
  • 怎样建设网站?(怎样注册域名?如何选择主机?网站应有哪些功能模块网站备案可以变更吗
  • 欧美男女直接做的视频网站广告投放跟网站建设一样吗
  • 建网站的流程费用广州比较大的外贸公司
  • wordpress 调用站外api广州优化公司推广
  • 自贡建设专业网站设计企业网站建设专家
  • 重庆潼南网站建设哪家便宜淄博做网站电话
  • 下载官方网站合肥建站公司seo
  • 做网站还是做app好科技部政服务服平台
  • 东阿聊城做网站的公司seo顾问培训
  • 临海高端营销型网站建设地址建设网站有什么要素构成
  • wordpress 照片分享昌平网站建设推广优化seo
  • 石家庄做网站的公司有哪些做企业网站一般要多少钱
  • 电脑十大免费游戏网站万能搜索引擎入口
  • 菏泽网站建设公司排名有没有专做推广小说的网站
  • 东莞网站建设搭建因酷网站建设
  • 连云港百度推广网站建设ph域名网站
  • 网站建设营销模板网站开发招聘职位
  • 如何做网站的教程网站怎么建设以及维护
  • 信息港发布信息怎么做网站优化
  • 网页广告怎么关闭网站seo的主要优化内容
  • server2012做网站免费的图片做视频在线观看网站
  • 石狮网站建设折扣网站模板
  • 大连商城网站制作公司深圳网站改版公司
  • 网站备案需要的资料网站+做内容分发资格
  • 青岛模板自助建站百度怎么搜索图片
  • 国外做动运服装的网站安徽海通建设集团网站
  • 手机网站加百度商桥装修公司加盟免费
  • 网站开发背景知识wordpress第二步500