• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    html与嵌入其中的flash均存在滚动条的情况分析及处理方法
    我们在做开发时经常会遇到这种情况:
    a.swf被添加到网页中, a.swf和html页面同时存在滚动条, 项目经理提了一个BT的需求---处理a.swf鼠标滚动的时候html页面不执行滚动, 反之则执行html页面的滚动!
    应该怎么做呢?
    方法1:
    1.鼠标移入a.swf滚动区域的时候: 告知JS移除浏览器鼠标滚动监听.
    2.鼠标移出a.swf滚动区域的时候: 告知JS添加浏览器鼠标滚动监听.
    3.a.swf的wmode设置为"window".
    总结: wmode设置为"window"可能会不满足项目需求, 这使得a.swf遮挡住任何在其之下的html页面; 另外鼠标移入a.swf滚动区域后按Alt+Tab切换页面时没有告知JS添加浏览器鼠标滚动监听, 所以在操作之后切回到html页面中是没有滚动处理的

    方法2:
    1.a.swf取消自身的鼠标滚动监听事件, 添加滚动处理接口供JS调用, 例如wheelToFlash(value).
    2.鼠标移入a.swf滚动区域的时候: 告知JS, 例如mouseIsInFlashWheelRange=true.
    3.鼠标移出a.swf滚动区域的时候: 告知JS, 例如mouseIsInFlashWheelRange=false;
    4.JS监听鼠标滚动事件, 在事件监听处理函数中我们需要做如下判断
    Javascript代码:

    复制代码
    代码如下:

    if(mouseIsInFlashWheelRange==true)
    {
    /**调用a.swf提供的接口使a.swf模拟滚动*/
    /**"flash"是html嵌入的a.swf的ID, value为html滚表滚动的值*/
    document.getElementById("flashID").wheelToFlash(value);
    /**阻止html页面鼠标事件的冒泡, 通常是event.preventDefault()*/
    event.preventDefault();
    }
    else
    {
    /**处理html正常的滚动, 我们可以什么都不需要做*/
    }

    总结: 与方法1相比没有了wmode="window"的限制; Alt+Tab的问题仍然存在。
    注意: 在写JS代码的时候我们需要注意兼容性的问题, 不同浏览器对鼠标事件的监听以及滚动值的获取均不相同!
    上一篇:html中textarea的使用及常见问题及案例分析
    下一篇:关于IE标签LI文字换行问题
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    html与嵌入其中的flash均存在滚动条的情况分析及处理方法 html,与,嵌入,其,中的,flash,