JavaScript检测鼠标移动方向的方法

本文实例讲述了JavaScript检测鼠标移动方向的方法。分享给大家供大家参考。具体实现方法如下:

function Start() {
  stage.addEventListener(MouseEvent.MOUSE_MOVE, CheckDirection);
}
Start();
var prevX=0;
var prevY=0;
var curX=0;
var curY=0;

var dirX:String="";
var dirY:String="";
function CheckDirection(e:MouseEvent) {
  trace("X movement: " + GetHorizontalDirection() + ", Y movement: " + GetVerticalDirection());
  e.updateAfterEvent();
}
function GetHorizontalDirection():String {
  prevX=curX;
  curX=stage.mouseX;
  if (prevX>curX) {
    dirX="left";
  } else if (prevX < curX) {
    dirX="right";
  } else {
    dirX="none";
  }
  return dirX;
}
function GetVerticalDirection():String {
  prevY=curY;
  curY=stage.mouseY;
  if (prevY>curY) {
    dirY="up";
  } else if (prevY < curY) {
    dirY="down";
  } else {
    dirY="none";
  }
  return dirY;
}

希望本文所述对大家的javascript程序设计有所帮助。

时间: 2015-05-21

window.open被浏览器拦截后的自定义提示效果代码

现在越来越多的浏览器有拦截弹出窗口的功能.广告弹出来给拦掉了就无所谓,要是客户在付款时给拦掉了可就不能乱算了. Gmail的"哎呀"算是经典,可是,前天心云给出了更帅的提示=.= 记得打开浏览器拦截后 测试一下,在线阅读器里不知道代码会不会给过滤..代码在下边,其实没什么技术含量滴.挖哈哈... 复制代码 代码如下: window._open=window.open;  window.open=function(sURL,sName,sFeatures,bReplace){    if

ajax请求成功后新开窗口window.open()被拦截解决方法

问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所

JS判断鼠标从什么方向进入一个容器实例说明

偶然将想到的一个如何判断鼠标从哪个方向进入一个容器的问题.首先想到的是给容器的四个边添加几块,然后看鼠标进入的时候哪个块先监听到鼠标事件.不过这样麻烦太多了.google了一下找到了一个不错的解决方法,是基于jquery的,说实话,其中的var direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;这句用到的数学知识我是真没有看明白,原文中有一些英文注释我就不一一说明了.代码部分不是

js实现window.open不被拦截的解决方法汇总

本文实例讲述了js实现window.open不被拦截的解决方法.分享给大家供大家参考.具体分析如下: 一.问题: 今天在处理页面ajax请求过程中,想实现请求后打开新页面,就想到通过 js window.open 来实现,但是最终都被浏览器拦截了. 二.分析: 在谷歌搜索有没有解决方法,有些说可以通过新建a标签,模拟点击来实现,但是测试发现都实现不了,照样被浏览器拦截. 最后找到了一个折中的办法,可以实现新页面打开,但是没有a标签的那种直接流量新页面的效果. 三.实现代码: 复制代码 代码如下:

JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题

一.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢? 首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种比较方便的方法: 第一种方法,利用圆和反正切三角函数 如下图所示: 以div容器的中心点作为圆心,以高和宽的最小值作为直径画圆,将圆以[π/4,3π/4),[3π/4,5π/4),[5π/4,7π/4),[-π/4,π/4)划分为四个象限. 代码如下: $(".box").on(&quo

window.open关于浏览器拦截问题分析及解决方法

window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,不过一般用来的是打开新窗口,因为修改原来的网页地址,可以有另一个函数,那就是window.location,他可以重定向网页地址,使网页跳转到另一个页面. 我现在要说的是window.open函数的几个使用策略,一般情况下,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,认为你将弹出广告等用户不想得到的窗体,所以如果不想让浏览器拦截你,你可以将这个函数改为用户点

javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)

运动除了直线运动和曲线运动两种运动形式外,还有一种运动形式是鼠标跟随运动,而这种跟随运动需要用到三角函数的相关内容或者需要进行比例运算.本文将以几个小实例来介绍角度运动的相关内容 眼球转动 在很多网页中,都存在着跟随运动,比如眼球转动.鼠标在网页中移动时,眼球也会跟着朝相应方向转动 上面是眼球转动的示意图,(x0,y0)是眼球的位置,而(x,y)是鼠标的位置.设直线与垂直方向的夹角为a,假设圆心点坐标为(0,0),可以得到以下公式 tan(a) = x/y = x0/y0 x0 = r*sin(

利用JS判断鼠标移入元素的方向

最终效果 这里的关键主要是判断鼠标是从哪个方向进入和离开的 $("li").on("mouseenter mouseleave",function(e) { var w = this.offsetWidth; var h = this.offsetHeight; var x = e.pageX - this.getBoundingClientRect().left - w/2; var y = e.pageY - this.getBoundingClientRect

JS用斜率判断鼠标进入DIV四个方向的方法

网上大部分判断鼠标移入div移入移出都是使用一下方法: 这个方法确实十分奇特,使用起来十分方便. 后来自己看了一些文章,看到有另一种以斜率的方法来判断鼠标的移动方向. 上图是此方法的示意图,以浏览器左上角做原点,水平轴作为x轴,往右为正:竖直轴作为y轴,向上为正. 中间的div的左上角坐标(x1,y1),右下角坐标(x2,y2),中心点的坐标(x0,y0). 设如图两点的斜率为k(k<0),关于x轴对称的斜率为-k. 另外鼠标刚移入时,鼠标的坐标设为(x,y): window.onload =

window.open不被拦截的实现代码

复制代码 代码如下: $("#last").click(function(){ var w=window.open(); setTimeout(function(){ w.location="http://www.baidu.com"; }, 1000); return false; });

window.open不被拦截的简单实现代码(推荐)

实例如下: $("#last").click(function(){ var w=window.open(); setTimeout(function(){ w.location="http://www.jb51.net"; }, 1000); return false; }); window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,那么

JS判断网页广告是否被浏览器拦截过滤的代码

本来现在投广告赚钱也不像前几年好做,现在还大部分浏览器都拦截了广告,很多浏览器还是默认拦截广告,做站长不是一般辛苦啊!目前中小站长大部分收入还是靠广告,广告被拦截,收入自然会大大减少. 目前大部分浏览器的广告拦截规则都是广告黑名单+一些广告字眼匹配,比如百度联盟.搜狗联盟.Google联盟这些就算在广告黑名单里的,一般广告过滤都会过滤掉这些广告联盟代码.剩下的就是广告字眼匹配,比如js地址包含ads.php.ad.js甚至是gg.js都可能会被过滤,360浏览器甚至会把包含ad.gif.960x

Python结合Window计划任务监测邮件的示例代码

说起自动化绝对算是茶余饭后最有显B格的谈资,毕竟解放双手是从老祖先那里就流传下来的基因,都2020了,你每天上班还要登录各个邮箱账号查收邮件?快来解锁本章内容 整体思路 通过Python zemail库实现邮件读取 将最新一封邮件ID进行保存,第二次执行时比对邮件ID,判断是否是新邮件 通过Python pymsgbox库实现window弹窗提示 配置Window计划任务,每1分钟执行一次 步骤一:邮件读取 读取邮件通过Python zemail库进行,使用前通过 pip install zem

Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)实现代码

1.用户登录 验证用户是否登录成功步骤直接忽略,用户登录成功后怎么保存当前用户登录信息(session,cookie),本文介绍的是身份验证(其实就是基于cookie)的,下面看看代码. 引入命名空间 using System.Web.Security; 复制代码 代码如下: Users ModelUser = new Users() { ID = 10000, Name = UserName, UserName = UserName, PassWord = PassWord, Roles =

window.open打开页面居中显示的示例代码

1.js 复制代码 代码如下: <script type="text/javascript"> function openwindow(url,name,iWidth,iHeight)  {  // url 转向网页的地址   // name 网页名称,可为空   // iWidth 弹出窗口的宽度   // iHeight 弹出窗口的高度   //window.screen.height获得屏幕的高,window.screen.width获得屏幕的宽   var iTop

Spring MVC 拦截器实现代码

拦截器的实现 1.编写拦截器类实现HandlerInterceptor接口: 2.将拦截器注册进springmvc框架中: 3.配置拦截器的拦截规则: 其他实现方法 WebRequestInterceptor接口: 与上一个的区别是参数区别和prehandle的方法没有返回值.没有上一个功能全,因此常用第一个. 拦截器的使用场景 处理所有请求共性问题: 1.乱码问题:用request,response参数去设置编码: 2.解决权限验证问题(是否登陆,取session对象查看): 拦截器与过滤器的