当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > 鼠标滚轮事件滚动有Flash动画的网页

Flash动画制作
Flash表单制作实例集锦(四)
Flash MX 2004新特性实例(1)
Flash MX 2004新特性实例(2)
Flash MX 2004新特性实例(4)
Flash透视技术之鸡蛋里面的世界(1)
Flash透视技术之鸡蛋里面的世界(3)
Flash透视技术之鸡蛋里面的世界(2)
为AS2.0添砖加瓦-编写类扩展(2)
关于As2.0 编程的一些规则
为AS2.0添砖加瓦-编写类扩展(4)
为AS2.0添砖加瓦-编写类扩展(3)
AS2.0的私有,公有成员,类继承和as嵌套
FlashMX2004建立自定义类package
fmx2004 1000问(3)
fmx2004 1000问(4)
Flash MX pro的历史面板(1)
mx2004的新东东--newMovieClipLoader
Flash MX pro的历史面板(2)
fmx2004 1000问(1)
Flash 2004 MX支持的css

Flash动画制作 中的 鼠标滚轮事件滚动有Flash动画的网页


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-16   浏览: 302 ::
收藏到网摘: n/a

flash插入网页后,当flash获得焦点,也就是开始操作flash后,flash将捕获鼠标滚轮事件,导致浏览器无法响应滚轮事件,只能通过拖动滚动条来浏览网页,非常不便,也让普通用户感觉很疑惑。
通过以下小技巧可以让浏览器重新获得焦点,通过鼠标滚轮事件上下滚动:
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta:Number) {
getURL("javascript:void(window.focus())");
};
Mouse.addListener(mouseListener); 但是这种效果不是很理想,而且有时候会莫名奇妙地失效,如果不怕麻烦可以采用下面这种方式:
flash代码:
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta:Number) {
//getURL("javascript:void(window.focus())");
ExternalInterface.call("gundong",delta*-15);
};
Mouse.addListener(mouseListener); javascirpt代码:
<script LANGUAGE=Javascript>
function gundong(value){
var pos
if (document.documentElement && document.documentElement.scrollTop) {
          pos = document.documentElement.scrollTop;
} else if (document.body) {
pos = document.body.scrollTop;
}  
window.scroll(0,pos value);  
}
</script> 实际上这种方法是使用javascript控制滚动条,效果比第一种好多了,还可以修改flash里面的-15这个数值,更改滚动速度及方向。