css3让div随鼠标移动而抖动起来_ Div+Css教程-查字典教程网
css3让div随鼠标移动而抖动起来
css3让div随鼠标移动而抖动起来
发布时间:2017-01-07 来源:查字典编辑
摘要:最近发现一个网站,感觉用户体验不错,特别是一些背景图片随着鼠标的移动的反向的移动,感觉跟不错,于是就试着写了个小demo模仿一下Insert...

最近发现一个网站,感觉用户体验不错,特别是一些背景图片随着鼠标的移动的反向的移动,感觉跟不错,于是就试着写了个小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></div>

<div></div>

<div></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左右偏移最多不超过的值

效果展示

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新 Div+Css教程学习
    热门 Div+Css教程学习
    网页设计子分类