html5中文学习网

您的位置: 首页 > 网页制作 > html教程 » 正文

html与嵌入其中的flash均存在滚动条的情况分析及处理方法_HTML/Xhtml_网页制作

[ ] 已经帮助:人解决问题
点评:a.swf被添加到网页中, a.swf和html页面同时存在滚动条, 项目经理提了一个BT的需求---处理a.swf鼠标滚动的时候html页面不执行滚动, 反之则执行html页面的滚动,遇到此问题的朋友可以参考下啊,希望本文对你有所帮助
我们在做开发时经常会遇到这种情况: HzSHTML5中文学习网 - HTML5先行者学习网
a.swf被添加到网页中, a.swf和html页面同时存在滚动条, 项目经理提了一个BT的需求---处理a.swf鼠标滚动的时候html页面不执行滚动, 反之则执行html页面的滚动! HzSHTML5中文学习网 - HTML5先行者学习网
应该怎么做呢? HzSHTML5中文学习网 - HTML5先行者学习网
方法1: HzSHTML5中文学习网 - HTML5先行者学习网
1.鼠标移入a.swf滚动区域的时候: 告知JS移除浏览器鼠标滚动监听. HzSHTML5中文学习网 - HTML5先行者学习网
2.鼠标移出a.swf滚动区域的时候: 告知JS添加浏览器鼠标滚动监听. HzSHTML5中文学习网 - HTML5先行者学习网
3.a.swf的wmode设置为"window". HzSHTML5中文学习网 - HTML5先行者学习网
总结: wmode设置为"window"可能会不满足项目需求, 这使得a.swf遮挡住任何在其之下的html页面; 另外鼠标移入a.swf滚动区域后按Alt+Tab切换页面时没有告知JS添加浏览器鼠标滚动监听, 所以在操作之后切回到html页面中是没有滚动处理的 HzSHTML5中文学习网 - HTML5先行者学习网
HzSHTML5中文学习网 - HTML5先行者学习网
方法2: HzSHTML5中文学习网 - HTML5先行者学习网
1.a.swf取消自身的鼠标滚动监听事件, 添加滚动处理接口供JS调用, 例如wheelToFlash(value). HzSHTML5中文学习网 - HTML5先行者学习网
2.鼠标移入a.swf滚动区域的时候: 告知JS, 例如mouseIsInFlashWheelRange=true. HzSHTML5中文学习网 - HTML5先行者学习网
3.鼠标移出a.swf滚动区域的时候: 告知JS, 例如mouseIsInFlashWheelRange=false; HzSHTML5中文学习网 - HTML5先行者学习网
4.JS监听鼠标滚动事件, 在事件监听处理函数中我们需要做如下判断 HzSHTML5中文学习网 - HTML5先行者学习网
Javascript代码: HzSHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
HzSHTML5中文学习网 - HTML5先行者学习网
if(mouseIsInFlashWheelRange==true) HzSHTML5中文学习网 - HTML5先行者学习网
{ HzSHTML5中文学习网 - HTML5先行者学习网
/**调用a.swf提供的接口使a.swf模拟滚动*/ HzSHTML5中文学习网 - HTML5先行者学习网
/**"flash"是html嵌入的a.swf的ID, value为html滚表滚动的值*/ HzSHTML5中文学习网 - HTML5先行者学习网
document.getElementById("flashID").wheelToFlash(value); HzSHTML5中文学习网 - HTML5先行者学习网
/**阻止html页面鼠标事件的冒泡, 通常是event.preventDefault()*/ HzSHTML5中文学习网 - HTML5先行者学习网
event.preventDefault(); HzSHTML5中文学习网 - HTML5先行者学习网
} HzSHTML5中文学习网 - HTML5先行者学习网
else HzSHTML5中文学习网 - HTML5先行者学习网
{ HzSHTML5中文学习网 - HTML5先行者学习网
/**处理html正常的滚动, 我们可以什么都不需要做*/ HzSHTML5中文学习网 - HTML5先行者学习网
} HzSHTML5中文学习网 - HTML5先行者学习网
HzSHTML5中文学习网 - HTML5先行者学习网
总结: 与方法1相比没有了wmode="window"的限制; Alt+Tab的问题仍然存在。 HzSHTML5中文学习网 - HTML5先行者学习网
注意: 在写JS代码的时候我们需要注意兼容性的问题, 不同浏览器对鼠标事件的监听以及滚动值的获取均不相同!
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助