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绘制百度的小度熊
Oct 29 HTML / CSS
详解css3 mask遮罩实现一些特效
Oct 24 HTML / CSS
纯CSS实现设置半个字符的样式
Jul 03 HTML / CSS
详解CSS3中border-image的使用
Jul 18 HTML / CSS
浅析CSS3 用text-overflow解决文字排版问题
Oct 28 HTML / CSS
Html5新增标签与样式及让元素水平垂直居中
Jul 11 HTML / CSS
HTML5 Canvas 起步(1) - 基本概念
May 12 HTML / CSS
canvas与html5实现视频截图功能示例
Dec 15 HTML / CSS
HTML5 表单验证失败的提示语问题
Jul 13 HTML / CSS
详解HTML5将footer置于页面最底部的方法(CSS+JS)
Oct 11 HTML / CSS
html5视频媒体标签video的使用方法及完整参数说明详解
Sep 27 HTML / CSS
html5拖拽应用记录及注意点
May 27 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函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
javascript eval函数深入认识
2009/02/21 Javascript
javascript 打印内容方法小结
2009/11/04 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
python 实现二维列表转置
2019/12/02 Python
python-视频分帧&amp;多帧合成视频实例
2019/12/10 Python
Python如何实现远程方法调用
2020/08/07 Python
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
物业管理计划书
2014/01/10 职场文书
表扬信格式
2014/01/12 职场文书
青年教师典范事迹材料
2014/01/31 职场文书
运动员口号
2014/06/09 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
二年级作文之动物作文
2019/11/13 职场文书
Linux磁盘管理方法介绍
2022/06/01 Servers