背景图片
进入博客
SUMER浏览器
L
O
A
D
I
N
G

JS+css实现窗口快速抖动,仿mac、linux系统动画特效!适合于错误提示,弹窗提示,警告窗口等场景!
热门 转载

技术   发布时间: 2024-10-16 14:37   最后编辑时间: 2024-11-21 17:19   71485   0  

JS+css实现窗口快速抖动,仿mac、linux系统动画特效!适合于错误提示,弹窗提示,警告窗口等场景!

在Web开发中,可以使用JavaScript和CSS来实现窗口的抖动效果,这种效果常见于错误提示、弹窗提示或者警告中。以下分享一个简单的实现示例(两种方法)


话不多说,直接上代码:

方法一:


CSS部分

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% { transform: translateX(-3px); }
    10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% { transform: translateX(3px); }
}

.shake-animation {
    animation: shake 0.6s;
    animation-fill-mode: forwards;
}


HTML部分

<div id="box">抖动停止</div>
<button onclick="shake"></button>


JS部分

function shake() {
    document.getElementById('box').classList.add('shake-animation');
}


方法二:


HTML部分:

<div id="shake-animation">窗口抖动效果</div>


CSS部分:

#shake-animation {
  position: relative;
  background-color: #f9f9f9;
  border: 1px solid #ddd;
  padding: 10px;
  width: 200px;
  text-align: center;
}


JS部分:

function shake(element, times, distance, duration) {
  let counter = 0;

  // 定义动画函数
  function animate() {
    if (counter >= times) {
      return;
    }

    element.style.transform = 'translate3d(' + distance + 'px, 0, 0)';
    // 使用setTimeout来实现延迟动画效果
    setTimeout(() => {
      element.style.transform = 'translate3d(0, 0, 0)';
    }, duration / 2);

    counter++;
  }

  // 调用动画函数
  animate();
}

// 获取窗口抖动元素
const elem = document.getElementById('shake-animation');
// 触发抖动效果
shake(elem, 4, 5, 300); // 抖动次数、抖动距离、抖动持续时间

这段代码定义了一个shake函数,它接受四个参数:element是要实现抖动效果的DOM元素,times是抖动的次数,distance是每次抖动的距离,duration是每次抖动的持续时间。函数内部使用了transform属性和setTimeout来实现窗口的抖动动画。

你可以根据实际需求调整times, distance, duration的值来改变抖动的强度和频率。这个函数适用于Web开发中的各种场景,比如表单验证错误提示、登录失败弹窗等。


源码下载地址:

下载地址:https://download.csdn.net/download/xiaoyao_studio/89892559



参考文献:

1、基于Uni-app前端框架的SUMER UI3.0组件库

2、uniapp精仿支付宝UI界面源码下载,基于SumerUI一款仿支付宝APP

3、uniapp精仿微信源码,基于SumerUI一款仿微信APP应用



SUMER UI 【用于开发APP小程序H5网站毕业设计…】

官网:https://www.sumer.work



免责声明

本文所涉及的资源来自公共网络搜索等合法途径整理而来,该资料仅作为学习研究使用,并无任何商业目的,严禁用于商业用途。 任何访问、浏览本文,无论是否下载资源的用户,均代表已阅读、理解并同意遵守本声明条款。
内容来源:本文所有内容均来自公共网络搜索等合法途径,本文只做整理,若版权方认为本文侵权,请立即通知文章作者(微信:sumer-work),提供相关证明材料,如版权属实,作者将在24小时内删除贴文,谢谢!
版权归属:本文所上传的资源内容的版权归相应内容作者或权利人所有,本店不对涉及的版权问题负法律责任!
免责声明:大部分资源均是免费下载,若有部分资源标识为付费资源,则仅仅是对作者搜集、整理资料所付出的汗水和努力作出的一定补偿,请下载了资源的用户尊重版权方的知识产权,并在下载资源后24小时内删除, 谢谢!

博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。
博主资料
程序员SUMER

本人专注小程序、H5网站、App等多终端的全栈开发,拥有多年前后端开发经验;本人承接各种小程序、H5网站、App等互联网项目开发,有需要请联系我,微信号:sumer-work

最新博客