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

简单详细搭建网站教程视频做宣传语的网站

简单详细搭建网站教程视频,做宣传语的网站,wordpress sql 导入数据库备份,江门建设企业网站基于HDialog的特殊动画效果实现 业务场景 在开发过程中直接使用HDialog所展现的效果很快#xff0c;同时不能够与用户所点击位置进行交互#xff0c;会造成用户的体验观感不够好。因此需要实现一种能够从用户点击按钮位置以可变动画效果所展现的Dialog效果。 工作原理及实…基于HDialog的特殊动画效果实现 业务场景 在开发过程中直接使用HDialog所展现的效果很快同时不能够与用户所点击位置进行交互会造成用户的体验观感不够好。因此需要实现一种能够从用户点击按钮位置以可变动画效果所展现的Dialog效果。 工作原理及实现思路 1 基本定位图1标识了实现特殊动画效果所需要的主要位置信息其中最大的蓝色框表示浏览器大小蓝色三角表示用户点击位置。由于需要从用户点击位置对动画进行触发因此考虑到使用transform-origin属性。随后需要通过计算得到用户点击位置相对于HDialog弹出框的位置即offsetTop-clickpos.y与offsetLeft-clickpos.x将transform-origin属性设置为此相对位置即可完成基本定位。 2 事件处理根据1的分析用户点击按钮以触发弹出框的过程中需要得到用户所点击的位置因此需要在当前document.documentElement上添加额外的点击事件以获取用户点击位置同时需要触发捕获使此点击事件在弹出框触发点击事件前执行。 3 添加动画通过控制台调试得知在HDialog弹出与隐藏的过程中其Dom元素会分别动态添加dialog-fade-enter-active类与dialog-fade-leave-active类通过在此动态类的子自定义组件类custom-class所设置上添加动画即可完成HDialog的特殊动画效果。 代码实现 script setup langts import { nextTick, ref, watch } from vueconst visible ref(false) const visible_or ref(false) const mousePosition {x: 0,y: 0, }; function handleMouseMove(e: MouseEvent) {mousePosition.x e.x;mousePosition.y e.y; } document.documentElement.addEventListener(click, handleMouseMove, true); const modalRef refany();watch(() visible.value,async(value) {console.log(visible change, value);if (value) {await nextTick();const node: HTMLElement document.querySelector(.h-dialog.dialog-demo) as HTMLElement;const computedStyle window.getComputedStyle(node); let width;if (/px/g.test(computedStyle.width)) {// 如果宽度是像素类型// 正则替换像素成为数字格式width Number(computedStyle.width.replace(/px/g, ));} else {// 宽度为百分比类型// 正则替换百分比并转化为数字格式width document.documentElement.clientWidth * (Number(computedStyle.width.replace(/%/g, )) / 100);}const top computedStyle.marginTop.replace(/px/g, ); // 对话框距离顶部的距离// 计算变换偏移const transformLeft mousePosition.x - (document.documentElement.clientWidth - width) / 2; // 本质上为对话框左上角的 x 距离触发点 x 的距离const transformTop mousePosition.y - Number(top); // 本质上为对话框左上角的 y 距离触发点 y 的距离node.style.transformOrigin ${transformLeft}px ${transformTop}px;}} )/scripttemplatediv classflex flex-col gap-2div修改版本/divdiv classflex testh-button clickvisible true基础用法/h-buttonh-dialog refmodalRef v-modelvisible title提示 custom-classdialog-demo你好啊这是一个弹框的基本功能template #footerh-button typeprimary clickvisible false确 定/h-buttonh-button clickvisible false取 消/h-button/template/h-dialog/div/divdiv classflex flex-col gap-2div原始版本/divdiv classflex testh-button clickvisible_or true基础用法/h-buttonh-dialog refmodalRef v-modelvisible_or title提示你好啊这是一个弹框的基本功能template #footerh-button typeprimary clickvisible_or false确 定/h-buttonh-button clickvisible_or false取 消/h-button/template/h-dialog/div/div /templatestyle .dialog-fade-enter-active .h-dialog.dialog-demo {animation: ani-open .3s ease; }.dialog-fade-leave-active .h-dialog.dialog-demo {animation: ani-close .3s ease; } keyframes ani-open {0% {transform: scale(0);}100% {transition: scale(1);} }keyframes ani-close {0% {transform: scale(1);}100% {transform: scale(0);} } /styleframes ani-close {0% {transform: scale(1);}100% {transform: scale(0);} } /style
http://www.w-s-a.com/news/537101/

相关文章:

  • 网站备案证明在自己电脑上做网站
  • 沈阳旅游团购网站建设怎么制作网站搜索窗口
  • 做化学合成的网站有哪些枣庄住房和城乡建设局网站
  • 天猫优惠券网站怎么做的网络连接
  • 保定网站建设多少钱公司网页网站建设+ppt模板下载
  • 用户上传商品网站用什么做建设跳转公积金网站
  • 买程序的网站上海市网站建设公司
  • 南通网站建设排名公司哪家好wordpress网站图片迁移
  • 河南省汝州文明建设门户网站博客网站建设源码
  • 单位建设网站的请示手机移动端网站案例
  • 国内做网站的企业网站结构有哪些类型
  • 南通网站建设制作公司苏州好的网站公司名称
  • 咸阳做网站开发公司哪家好珠海公司制作网站
  • 深圳网站建设好不好医疗网站前置审批
  • 做ic什么网站好安溪网站建设
  • 网站建设 慕课企业文化标语经典
  • 做短视频的网站都有哪些简约 时尚 高端 网站建设
  • 浦口区网站建设售后服务建设一个网站多少钱
  • 做个小网站大概多少钱广州h5网站
  • 360免费建站视频wordpress标签显示图片
  • 创建简易个人网站国外做网站被动收入
  • 轻定制网站建设网页培训哪个机构好
  • 青岛海诚互联做网站好吗计算机软件开发培训机构
  • 德钦网站建设如何在网站上做用工登记
  • 创意品牌网站云服务
  • 个人备案网站可以做商城展示如何制作网页二维码
  • 网站建设php教程视频百度seo 站长工具
  • 外包小程序两个相同的网站对做优化有帮助
  • 网站备案主体修改wordpress 导航图片
  • 怎么建设网站数据库用vs代码做网站