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系列之3D制作方法案例
Aug 14 HTML / CSS
css3绘制天猫logo实现代码
Nov 06 HTML / CSS
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
Nov 16 HTML / CSS
基于CSS3 animation动画属性实现轮播图效果
Sep 12 HTML / CSS
css3中flex布局宽度不生效的解决
Dec 09 HTML / CSS
鲜为人知的HTML5语音合成功能
May 17 HTML / CSS
简单html5代码获取地理位置
Mar 31 HTML / CSS
html5 canvas移动浏览器上实现图片压缩上传
Mar 11 HTML / CSS
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
Aug 24 HTML / CSS
canvas实现漂亮的下雨效果的示例
Apr 18 HTML / CSS
css常用字体属性与背景属性介绍
Feb 28 HTML / CSS
HTML 里 img 元素的 src 和 srcset 属性的区别详解
May 21 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/07/27 PHP
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
php和javascript之间变量的传递实现代码
2012/12/19 PHP
golang与PHP输出excel示例
2016/07/22 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
css图片自适应大小
2007/11/28 Javascript
JQuery Tab选项卡效果代码改进版
2010/04/01 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
python实现多线程的两种方式
2016/05/22 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
Python温度转换实例分析
2018/01/17 Python
Python将图片转换为字符画的方法
2020/06/16 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
keras得到每层的系数方式
2020/06/15 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
小学生三分钟演讲稿
2014/08/18 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
公路施工安全责任书
2015/05/08 职场文书