判断鼠标从div的哪一方向划入
来源:互联网 发布:淘宝醉清风是真的假的 编辑:程序博客网 时间:2024/04/29 17:53
发现一种很有意思的效果,感觉很漂亮很华丽,想实现一下,大体效果来介绍下:
鼠标从左端划入,则遮盖层从左边划入遮盖div,而从上方划入,则遮盖层从上方划入遮盖div,同理对于右方和下方,而同样从哪个方向鼠标移出div,遮盖层也就从哪个方向消失,你能想象的出么?如果还想象不出效果,可以看一下“拉勾网”,我就从上面发现的这个效果。
其实单纯说遮盖层划出的效果,我们大约知道好几种方法,如果遮盖层是需要新创建div,那么javascript完全可以实现,至于划出效果也可以实现,遮盖层的width从0不断增大到div的宽度即可,而如果遮盖层是之前隐藏的div,那么除了用javascript方法,我们还可以用css3的transition的width来实现效果,然后我们就遇到了一个当前的大问题,那就是判定鼠标从哪个方向划入,然后遮盖层从哪个方向划出。
而我想到的方法,就是鼠标划入的初始位置,距离div的哪一个边最近,我们就知道从哪一个方向划入的了,是不是这个道理呢,用代码来实现下:
html语言:
- <div style="margin-left:300px;margin-top:300px;width:400px;height:400px;background:cyan;" id="test">
- <img src="11.jpg" width="300px" height="250px">
- </div>
- window.onload=function(){
- var left=0;
- var top=0;
- var right=0;
- var bottom=0;
- var arr=new Array();
- test.addEventListener("mouseover",function(event){
- var test=document.getElementById("test");//获得test对象
- if(check){
- check=false;
- var x=event.clientX;//鼠标的位置
- var y=event.clientY;
- left=x-test.offsetLeft;//鼠标相对于div左方的边的距离
- top=y-test.offsetTop;//相对于div上方的边的距离
- right=test.offsetLeft+test.offsetWidth-x;//相对于div右方的边的距离
- bottom=test.offsetTop+test.offsetHeight-y;//相对于div下方的边的距离
- arr.push(top);
- arr.push(right);
- arr.push(bottom);
- arr.push(left);
- var least=findLeast(arr);
- alert(least);//获取最小是数组的第几位,1、2、3、4位分别是左、上、右、下,就能判定是哪个方向了
- }
- var findLeast=function([a1,a2,a3,a4]){
- var a;
- var n;
- a=a1>a2?a2:a1;
- n=a==a2?2:1;
- a=a3>a?a:a3;
- n=a==a3?3:n;
- a=a4>a?a:a4;
- n=a==a4?4:n;
- return n;
- }
- }
0 0
- 判断鼠标从div的哪一方向划入-------Day74
- 判断鼠标从div的哪一方向划入
- jquery判断鼠标划入的方向
- 判断鼠标进入容易的方向,js判断划入方向
- 判断鼠标进入div容器的方向
- div鼠标移入移出的方向判断
- JS用斜率判断鼠标进入DIV四个方向的方法 判断鼠标移入方向
- js用斜率判断鼠标进入div的四个方向
- js用斜率判断鼠标进入div的四个方向
- 判断鼠标从什么方向进入元素
- javascript获取鼠标进入div的方向
- Jquery确定鼠标进入div的方向
- js判断鼠标进入容器的方向
- js判断鼠标进入容器的方向
- 如何判断鼠标进入元素的方向
- 盒子鼠标移入移出方向的判断
- 判断鼠标进入容器的方向
- 判断鼠标进入容器的方向
- 十年总结
- HDU 2061 Treasure the new start, freshmen!
- 杭电3783 a=b=c=0;这个千万不能忘记初始化,i<strlen(t)必须用,否则超时
- toj1746How Many Sums
- thread_detach(threadid)和pthread_detach(pthread_self())
- 判断鼠标从div的哪一方向划入
- HDU 2062 Subset sequence
- 【数据挖掘导论】——数据质量
- hdoj 2017 字符串统计
- MySQL函数之CONCAT
- HDU 2063 过山车
- Listview控件使用技巧大汇总 连载(一)
- 数字电路设计之各种触发器的verilog实现
- 介绍:一款Mathematica的替代开源软件Mathetics