DIVのぼかし機能を実装する方法

DIVのぼかし機能を実装する方法

マウスを動かしたときにDIVが消えるように手ぶれ補正を使用する

div タグ自体は onblur イベントをサポートしていないため、ボタンがクリックされたときにポップアップする div の場合、div がフォーカスを失ったときに消えるようにする必要がありますが、これは onblur を使用して実現することはできません。

ただし、onmouseout とイベントを使用すると、フォーカスを失ったときに DIV が消えるようにすることができます。 onmouseout を直接使用して消えることを実現すると、問題が発生する可能性があります。ボタンの位置とポップアップ div の位置が重ならない場合は、マウスが移動するとすぐに onmouseout イベントがトリガーされ、役に立ちません。

アンチシェイク、オンマウスアウト、オンマウスオーバーを組み合わせて使用​​することで、優れたぼかしイベントエクスペリエンスを実現します。

    /**
     *マウスがdivイベント上を移動*/
    関数moveOverEvent(ele,outTimer) {
        overTimer を null にします。
        関数()を返す{
            clearTimeout(outTimer); //div が消えず、別の div が移動してきたら、最後に移動したイベントをクリアします。clearTimeout(overTimer); //アンチシェイク overTimer = setTimeout(()=>{        
                ele.style.display = "ブロック";
            },500);                     
        }
    }
    /**
     *マウスアウト*/
    関数moveOutEvent(ele,outTimer) {
        関数()を返す{
            clearTimeout(outTimer); // 手ぶれ防止 outTimer = setTimeout(()=>{ // 移動後 500 ミリ秒待ってからこの div を消す
                ele.style.display = "なし";
            },500);
        }
    }

その後、div に tabindex 属性を追加することで、blur イベントを実装できることを偶然発見したので、上記のコードは無駄に書かれていたのかもしれません。 (追記: 上記の体験は、誤タッチを大幅に減らし、より良いものになったと思います)

//tabindex を設定すると、要素はデフォルトで点線で表示されます。これは、ouline=0 を設定することで削除できます (IE では、hidefocus="true" を設定します)。
<div tabindex="0" アウトライン=0" 非表示フォーカス="true"></div>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  Baidu サイト検索が https をサポートしていない問題の解決策 (テスト済み)

>>:  MySQL インデックス失敗の原理

推薦する

MySQL データ分析ストレージエンジンの例の説明

目次1. 事例紹介2. システムのデフォルトのストレージエンジンとデフォルトの文字セットを表示する3...

Nginx サービス クイック スタート チュートリアル

目次1. Nginx の紹介1. Nginx とは何ですか? 2. Nginx を使用する理由3. ...

Hタグはウェブページ制作において適切に使用すべきである

HTML タグには、ページのタイトルを処理するための特別なタグがあります。これらは h1、h2、h3...

Vue ページ内の公開マルチタイプ添付画像アップロード領域と適用可能な折りたたみパネル (サンプルコード)

フロントエンド プロジェクトでは、添付ファイルのアップロードは非常に一般的な機能であり、ほぼすべての...

Linux にバイナリ MySQL をインストールして MySQL パスワードをクラックする方法

1. システムに必要な libaio ソフトウェアがインストールされていることを確認します。インスト...

MySQL 8.0.17 のインストールと使用方法のチュートリアル図

前面に書かれた過去および現在のプロジェクトで最も一般的に使用されているリレーショナル データベースは...

JS はシンプルなカレンダー効果を実装します

この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...

Linux 上でプライベート Git サーバーを構築するための詳細なチュートリアル

1. サーバーのセットアップリモート リポジトリは実際にはローカル リポジトリと何ら変わりなく、純粋...

a href=# と a href=javascript:void(0) の違いの詳細な説明

a href="#"> リンクをクリックすると、ページがページ上部までスク...

jQuery を使用してカルーセル効果を実装する

この記事では、jQueryでカルーセルチャートを実装するための具体的なコードを参考までに共有します。...

Nginx ロケーションマッチングルールの例

1. 文法 場所 [=|~|~*|^~|@] /uri/ { ... } 2. 説明上記の構文から、...

Linux でバックグラウンドで実行中のプログラムを表示して終了する方法

1. .shファイルを実行する./sh ファイルを使用して直接実行することもできますが、現在のターミ...

遭遇したいくつかのブラウザ互換性の問題について簡単に説明します

背景ブラウザの互換性の問題を解決するのは非常に面倒なことです。高度な技術はそれほど必要ありませんが、...

ラベルとスパンの幅設定が無効である問題の解決

デフォルトでは、ラベルとスパンの幅の設定は無効です。一般的に、表示属性は必須ですコードをコピーコード...