開発を行う際に、次のような状況に遭遇することがよくあります。 a.swf が Web ページに追加されます。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 は、独自のマウス スクロール監視イベントをキャンセルし、wheelToFlash(value) など、JS が呼び出すスクロール処理インターフェイスを追加します。 2. マウスが a.swf のスクロール領域に移動したとき: JS に通知します (例: mouseIsInFlashWheelRange=true)。 3. マウスが a.swf のスクロール領域から外れたとき: JS に通知します (例: mouseIsInFlashWheelRange=false;)。 4.JSはマウススクロールイベントを監視します。イベント監視処理機能では、以下の判断を行う必要があります。 Javascript コード: コードをコピー コードは次のとおりです。マウスがフラッシュホイールの範囲内にある場合 { /**a.swf が提供するインターフェイスを呼び出して、a.swf でスクロールをシミュレートします*/ /**「flash」は HTML に埋め込まれた .swf の ID、値は HTML スクロール テーブルのスクロール値です */ document.getElementById("flashID").wheelToFlash(値); /** HTML ページ上のマウス イベントのバブルを防止します (通常は event.preventDefault())*/ イベントをデフォルトにしない(); } それ以外 { /** HTML の通常のスクロール処理を行います。何もする必要はありません*/ } 要約: 方法 1 と比較すると、wmode="window" の制限はありませんが、Alt + Tab の問題は依然として存在します。 注意:JS コードを書くときは、互換性の問題に注意する必要があります。ブラウザによってマウス イベントをリッスンし、スクロール値を取得する方法が異なります。 |
>>: Vue を通じて QR コードスキャン機能を実装する
1. Flexレイアウトの紹介Flex は Flexible Box の略で、「柔軟なレイアウト」を...
MySQL で、id、a、b の 3 つのフィールドを持つ新しいテーブルを作成します。次のように、同...
私が長い間遭遇してきた問題を要約してみましょう。プロジェクトでは、フロントエンドをレンダリングするた...
目次JavaScript で配列を作成する配列の使用配列を分割文字列に変換する配列に要素を追加する配...
この記事では、クリック時にサブメニューを表示するためのJavaScriptの具体的なコードを参考まで...
言語では、DSL を実装するためにマクロがよく使用されます。マクロを使用すると、開発者は JSX 構...
このチュートリアルでは、MySQL 5.7のインストールと設定方法を参考までに紹介します。具体的な内...
目次序文1. リスナーの基本的な使い方2. リスナー形式3. ページに入るとすぐに監視とディープモニ...
目次HBuilderX での ESLint プラグインのインストールカスタム eslint-js ル...
サーバー情報管理サーバー: m01 172.16.1.61サーバー: nfs01 172.16.1....
nofollowをめぐる論争Zac と Guoping の間では、nofollow が PR を無駄...
この記事では主に、CSS3 アニメーションで簡単な指クリックアニメーションを実装する例を紹介し、皆さ...
目次1. 非同期2. 待つ: 3. 包括的なアプリケーション1. 非同期async 、非同期コードが...
目次1. 応答原理の基盤2. コアオブジェクト: Dep と Watcher 3. 依存関係を収集し...
DockerにはCEとEEがあり、CE版はコミュニティ版(無料)、EE版はセキュリティを重視したエン...