ホームページ >ウェブフロントエンド >htmlチュートリアル >ITに埋め込まれたhtmlとFlashの両方に存在するスクロールバーの解析と処理方法_HTML/Xhtml_Webページ制作

ITに埋め込まれたhtmlとFlashの両方に存在するスクロールバーの解析と処理方法_HTML/Xhtml_Webページ制作

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-05-16 16:40:341313ブラウズ

開発中によくこのような状況に遭遇します。
a.swf が Web ページに追加され、a.swf と html ページに同時にスクロール バーがあり、プロジェクト マネージャーが BT 要件を提起しました --- プロセス a。 swf マウスをスクロールすると、HTML ページはスクロールしません。

方法 1: 1 にマウスを移動します。 a.swf をスクロール領域に指定します。
2. マウスが a.swf スクロール領域の外に移動したとき: JS にブラウザのマウス スクロール モニタを追加するように指示します。 a.swf の wmode は「window」に設定されています。
概要: wmode を「window」に設定すると、a.swf がその下にある HTML ページをブロックすることになります。 a.swf スクロール領域にマウスを移動します。ページを切り替えるとき、JS はブラウザーのマウス スクロール監視を追加するように通知されないため、操作


の後に HTML ページに戻るときにスクロール処理は行われません。方法 2
: 1.a. swf は、マウスが移動したときに JS が呼び出すスクロール処理インターフェイスを追加します。 a.swf スクロール領域: JS に通知します (たとえば、mouseIsInFlashWheelRange=true)。3 マウスが a.swf スクロール領域の外に移動した場合: JS に通知します (たとえば、mouseIsInFlashWheelRange=false)。 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 コードを作成するときは、ブラウザーによってマウス イベントの監視とスクロール値の取得方法が異なることに注意する必要があります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。