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旋转——彩色扇子兼容firefox浏览器
Jun 04 HTML / CSS
css3实现3D色子翻转特效
Dec 23 HTML / CSS
结合CSS3的新特性来总结垂直居中的实现方法
May 30 HTML / CSS
10分钟理解CSS3 FlexBox弹性布局
Dec 20 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
Feb 24 HTML / CSS
解决H5的a标签的download属性下载service上的文件出现跨域问题
Jul 16 HTML / CSS
详解Html5中video标签那些属性和方法
Jul 01 HTML / CSS
一些常用的HTML5模式(pattern) 总结
Jul 14 HTML / CSS
一波HTML5 Canvas基础绘图实例代码集合
Feb 28 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
Dec 28 HTML / CSS
HTML5 canvas 瀑布流文字效果的示例代码
Jan 31 HTML / CSS
如何在Canvas上的图形/图像绑定事件监听的实现
Sep 16 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判断字符以及字符串的包含方法属性
2008/08/30 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
10款最好的Web开发的 Python 框架
2015/03/18 Python
python 搜索大文件的实例代码
2019/07/08 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
大学生预备党员自我评价分享
2013/11/16 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
2015年教师节活动总结
2015/03/20 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
php去除deprecated的实例方法
2021/11/17 PHP
Nginx图片服务器配置之后图片访问404的问题解决
2022/03/21 Servers
Redis Lua脚本实现ip限流示例
2022/07/15 Redis