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 Grid布局教程之浏览器开启CSS Grid Layout汇总
Dec 30 HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
Nov 06 HTML / CSS
css3 transform过渡抖动问题解决
Oct 23 HTML / CSS
详解利用css3的var()实现运行时改变scss的变量值
Mar 02 HTML / CSS
分享一个H5原生form表单的checkbox特效代码
Feb 26 HTML / CSS
详解如何用canvas画一个微笑的表情
Mar 14 HTML / CSS
HTML5 visibilityState属性详细介绍和使用实例
May 03 HTML / CSS
HTML5实现晶莹剔透的雨滴特效
May 14 HTML / CSS
HTML5中meta属性的使用方法
Feb 29 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
Jun 10 HTML / CSS
元素水平垂直居中的方式
Mar 31 HTML / CSS
el-form每行显示两列底部按钮居中效果的实现
Aug 05 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
第三节--定义一个类
2006/11/16 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
2013/05/27 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
2015/02/27 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
ECMAScript6--解构
2017/03/30 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
Python常见文件操作的函数示例代码
2011/11/15 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
2016/04/26 HTML / CSS
野兽派官方旗舰店:THE BEAST 野兽派
2016/08/05 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
员工考核管理制度
2014/02/02 职场文书
大学生思想道德自我评价
2015/03/09 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书