» 网友学堂 » Flash教程 » 鼠标滚轮事件滚动有Flash动画的网页 -> 查看 2008年10月13日 更新
鼠标滚轮事件滚动有Flash动画的网页
作者:wumingzhe 发表时间:2008-10-13 07:54 阅读:12次 在百度搜索相关内容

flash插入网页后,当flash获得焦点,也就是开始操作flash后,flash将捕获鼠标滚轮事件,导致浏览器无法响应滚轮事件,只能通过拖动滚动条来浏览网页,非常不便,也让普通用户感觉很疑惑。   通过以下小技巧可以让浏览器重新获得焦点,通过鼠标滚轮事件上下滚动:
varmouseListener:Object=newObject();
mouseListener.onMouseWheel=function(delta:Number){
getURL("javascript:void(window.focus())");
};
Mouse.addListener(mouseListener);

  但是这种效果不是很理想,而且有时候会莫名奇妙地失效,如果不怕麻烦可以采用下面这种方式:
  flash代码:
varmouseListener:Object=newObject();
mouseListener.onMouseWheel=function(delta:Number){
//getURL("javascript:void(window.focus())");
ExternalInterface.call("gundong",delta*-15);
};
Mouse.addListener(mouseListener);

  javascirpt代码:
functiongundong(value){
varpos
if(document.documentElement&&document.documentElement.scrollTop){
     pos=document.documentElement.scrollTop;
}elseif(document.body){
pos=document.body.scrollTop;
} 
window.scroll(0,pos+value); 
}

  实际上这种方法是使用javascript控制滚动条,效果比第一种好多了,还可以修改flash里面的-15这个数值,更改滚动速度及方向。

#Advertisement