css3让div随鼠标移动而抖动起来


Posted in HTML / CSS onFebruary 10, 2014

最近发现一个网站,感觉用户体验不错,特别是一些背景图片随着鼠标的移动的反向的移动,感觉跟不错,于是就试着写了个小demo模仿一下

复制代码
代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
.layer {
width:400px;
height:400px;
background-color:#FF7373;
transa
}
.A {
position: absolute;
top: 23px;
left: 10px;
}
.B {
position: absolute;
top: 223px;
left: 516px;
}
.C {
position: absolute;
top: 384px;
left: 1000px;
}
</style>
</head>
<body>
<div class="layer A"></div>
<div class="layer B"></div>
<div class="layer C"></div>
</body>
<script type="text/javascript">
var items = document.getElementsByClassName("layer");
document.addEventListener('mousemove', function (evt){
var x = evt.clientX;
var y = evt.clientY;
//console.log(x);
var winWidth = window.innerWidth;
var winHeight = window.innerHeight;
var halfWidth = winWidth / 2;
var halfHeight = winHeight / 2;
var rx = x - halfWidth;
var ry = halfHeight - y;
var length = items.length;
var max = 30;
for (var i = 0 ; i < length ; i++) {
var dx = (items[i].getBoundingClientRect().width/max)*(rx / -halfWidth);
var dy = (items[i].getBoundingClientRect().height/max)*(ry / halfHeight);
items[i].style['transform'] = items[i].style['-webkit-transform'] = 'translate('+dx+'px,'+dy+'px)';
}
}, false);
</script>
</html>

说明一下分别拿到每个div的长度和宽度,通过比例算出相对于窗口的合适的偏移量,max是每个div左右偏移最多不超过的值

效果展示
css3让div随鼠标移动而抖动起来

HTML / CSS 相关文章推荐
CSS实现鼠标滑过鼠标点击代码写法
Dec 26 HTML / CSS
利用CSS3实现毛玻璃效果示例源码
Sep 25 HTML / CSS
CSS3感应鼠标的背景闪烁和图片缩放动画效果
May 14 HTML / CSS
HTML5 FormData 方法介绍以及实现文件上传示例
Sep 12 HTML / CSS
html5本地存储_动力节点Java学院整理
Jul 12 HTML / CSS
HTML5新增的标签和属性归纳总结
May 02 HTML / CSS
HTML5 与 XHTML2
Oct 17 HTML / CSS
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
Jan 09 HTML / CSS
24个canvas基础知识小结
Dec 17 HTML / CSS
css3实现的加载动画效果
Apr 07 HTML / CSS
纯CSS如何禁止用户复制网页的内容
Nov 01 HTML / CSS
td 内容自动换行 table表格td设置宽度后文字太多自动换行
Dec 24 HTML / CSS
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
Feb 10 #HTML / CSS
css3的@media属性实现页面响应式布局示例代码
Feb 10 #HTML / CSS
CSS3控制HTML元素动画效果
Feb 08 #HTML / CSS
使用css3匹配手机屏幕横竖状态
Jan 27 #HTML / CSS
css3教程之倾斜页面
Jan 27 #HTML / CSS
使用css3制作动感导航条示例
Jan 26 #HTML / CSS
带有css3动画效果的兼容多浏览器简单导航条示例
Jan 26 #HTML / CSS
You might like
是否存在第一台收音机的说法
2021/03/01 无线电
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
php递归函数怎么用才有效
2018/02/24 PHP
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
requireJS使用指南
2016/04/27 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
js轮播图代码分享
2016/07/14 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
Angular整合zTree的示例代码
2018/01/24 Javascript
微信小程序实现自上而下字幕滚动
2018/07/14 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
Vue实现星级评价效果实例详解
2019/12/30 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
Python的Tornado框架异步编程入门实例
2015/04/24 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
Django中Forms的使用代码解析
2018/02/10 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
深入解析神经网络从原理到实现
2019/07/26 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
2016年春节问候语
2015/11/11 职场文书