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 相关文章推荐
纯CSS3实现图片无间断轮播效果
Aug 25 HTML / CSS
CSS3 Flexbox中flex-shrink属性的用法示例介绍
Dec 30 HTML / CSS
CSS3 box-shadow属性实例详解
Jun 19 HTML / CSS
canvas绘制文本内容自动换行的实现代码
Jan 14 HTML / CSS
HTML5 语义化结构化规范化
Oct 17 HTML / CSS
开发人员所需要知道的HTML5性能分析面面观
Jul 05 HTML / CSS
多视角3D逼真HTML5水波动画
Mar 03 HTML / CSS
HTML5 视频播放(video),JavaScript控制视频的实例代码
Oct 08 HTML / CSS
Html5踩坑记之mandMobile使用小记
Apr 02 HTML / CSS
video下autoplay属性无效的解决方法(添加muted属性)
May 19 HTML / CSS
web前端之css水平居中代码解析
May 20 HTML / CSS
html,css,javascript是怎样变成页面的
May 07 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
用php写的serv-u的web申请账号的程序
2006/10/09 PHP
discuz的php防止sql注入函数
2011/01/17 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
PHP进程通信基础之信号
2017/02/19 PHP
js动态给table添加/删除tr的方法
2013/08/02 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
2016/02/03 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
Webpack打包慢问题的完美解决方法
2017/03/16 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
angular 数据绑定之[]和{{}}的区别
2018/09/25 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
python实现装饰器、描述符
2018/02/28 Python
python实现比较文件内容异同
2018/06/22 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
Flask处理Web表单的实现方法
2021/01/31 Python
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
企业党建工作汇报材料
2014/08/19 职场文书
校外活动方案
2014/08/28 职场文书
拆迁委托协议书
2014/09/15 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
优秀员工自荐书
2015/03/06 职场文书
2015年话务员工作总结
2015/04/29 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
javascript之Object.assign()的痛点分析
2022/03/03 Javascript