首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    纯 JS 实现放大缩小拖拽采坑之旅

    本文首发于政采云前端团队博客:纯 JS 实现放大缩小拖拽采坑之旅 https://www.zoo.team/article/scaling ?...前言 最近团队需要做一个智能客服悬浮窗功能,需要支持拖动、放大缩小等功能,因为这个是全局插件,为了兼容性考虑全部使用原生 JS 实现,不引用任何第三方库或者插件。...三个坑点 拖拽采宝时会导致采宝放大缩小 采宝显示在屏幕边界时被遮挡显示不全 采宝放大和缩小后,位置发生变化 (一)拖拽时会导致采宝放大缩小 我们在操作采宝时,不管是鼠标拖动还是点击放大缩小,我们的事件都需要绑定在采宝头部的图标上...这样就会出现在拖动采宝的时候,采宝会放大和缩小。 ?...'放大缩小' (三)采宝放大和缩小后,位置发生变化 通过上图,我们可以看到,当小采宝处在显示屏边界时,点击放大后再点击缩小,我们发现采宝的位置发生了变化。

    7.2K10

    js实现贝塞尔曲线,div也能如此丝滑?

    今天遇到朋友发来的一个ui图,询问我如何实现下图这样的效果【vue项目】,(听说是类似LED灯的展示效果),于是便有了今天的小demo,要实现一个类似下图的动效,上面的灯会一直重复滚动,但是这个并不是什么难点...,主要在于如何实现这种平滑的曲线,日常我们的开发的div在我们的脑海中通常就是一个网格状,涉及到平滑曲线的往往是图表,于是我们需要找一个方案来完成这种布局(非真实ui图,是完成之后的效果) 分析 我们需要先简单分析一下这个...实现 布局 实现这个的布局非常简单,外层一个大的div,内层很多小的span,通过flex一排即可到一排 div class="container"> div class...0 : item + 1) }, 最后我们启动即可,就实现了我们开头想要的效果。...但是实际上我们所需要的其实只是利用真实的x点,拿到对应曲线求出我们y的坐标,所以我们需要的参数有,我们真实场景的总宽,总宽之中的个数,我们所需要的曲线的倍率,三个参数即可,我们尽量分开步骤写,这样你看会理解的更清楚 js

    2.4K40

    impress.js 源码分析

    impress.js简单来说仅仅是实现了幻灯片的转场特效的框架,虽说将单页限制在框架之内,但所有单页还是需要自己用代码设计。...1. impress.js华丽效果实现方法概述   通过审查元素发现,页面间转场的实现全部是依赖于CSS3,准确说是translate3d属性完成的。...impress的水平移动是改变了translateX坐标,垂直移动是改变translateY坐标,而变小变大的绚丽效果是改变translateZ的坐标实现,而这些转化样式的事件监听是通过js来实现的。...getElementFromHash() ----- 根据hash来获取元素(hash是URL中形如#step1的东西) computeWindowScale() ----- 根据当前窗口尺寸计算scale,用于放大和缩小...很多技术单独实现都很简单,综合运用起来,如何保证命名空间不污染,代码的重用复用,js和css代码的兼容性等细节都是值得学习的地方。

    3.2K20

    CSS笔记(24)之transform

    关于HTML+CSS的基础班知识已经学完啦,现在学习就业班的知识. 2D转换 转换(transform)是CSS3中最具有颠覆性的特征之一,可以实现元素的位移/旋转/缩放等效果.转换可以简单理解为变形...border-right: 1px solid #000; transform: rotate(45deg); } div...class="box">div> 当然,旋转中心点也是可以变化的. 2D旋转中心点transform-origin 我们可以设置元素旋转的中心点 语法: transform-origin...嘿嘿,又做了一个过渡效果的. 2D转换之缩放scale 缩放,顾名思义,可以放大和缩小.只要给元素添加了这个属性就能控制它放大和缩小....):宽和高都放大了一倍,相当于没有放大. transform:scale(2,2):宽和高都放大了两倍. transform:scale(2):同上 transform:scale(0.5,0.5):缩小

    2K20

    聊聊苹果营销页中几个有趣的交互动画

    缩放图片 开始时是一张全屏的图片,在滚动过程中慢慢变成另一张图片,接着这张图片以屏幕正中间为基准点慢慢缩小,在缩小的过程中,这张图是定在屏幕中央的,缩小到一定值的时候,图片随着滚动条滚动。 ?...上图中的效果,我们只需要一行 css 就可以实现了,不需要写复杂的 js 代码,直接设置 background-attachment: fixed 就完成了。...// 开始动画的 scrollTop // $('#imgWrapper') 放图片的容器,html 结构下面有 startOpen = $('#imgWrapper').offset().top -...图片缩小 我们使用 transform: matrix 来实现,其中图片缩小是基于屏幕正中央的点进行缩放的。...图片缩小 这里我们不使用 transform: matrix 来做这个放大缩小,我们使用 background-position 和 background-size 来进行图片的 「缩小/放大和偏移」

    2.8K60

    盘点:响应式布局的5种实现方式

    屏幕尺寸 html 中 font-size 大小 (1rem 大小) 750px 75px 640px 64px 480px 48px 375px 37.5px 320px 32px 我们可以通过 js...来动态修改不同屏幕尺寸下的 font-size 大小就可以实现等比例放大和缩小了 js 动态修改 html 根元素的 font-size 的大小,能适配不同尺寸的屏幕,不再局限于这 5 种 <script...clientWidth / 10 + "px"; //动态设置font-size大小 } window.onresize = initPage; 注: 我们可以用 flexible.js...height: 40vw; background-color: red; } div class="box">div> 在宽为 750px...我们经常会用到的有关弹性布局的属性主要有 order , flex-grow , flex-shrink ,flex-basis , align-self ,这几个属性分别从 项目的排序、项目放大比例、项目缩小比例

    3.8K00
    领券