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データベース設計:Pythonを使ったスキーマ操作方法の詳しい解説

矢が放たれる前に、弓は矢にささやきました。「お前の自由は私のものだ。」スキーマは矢のようなもので、弓...

Innodb で MySQL の 2T テーブルをすばやく削除する方法の例

序文この記事は主に、MySQL の Innodb で 2T の大きなテーブルをすばやく削除する方法に...

UnityはMySQLに接続し、テーブルデータの実装コードを読み取ります

表は以下のとおりです。 Unity が読み取って呼び出すときのコード: データベース内の別のテーブル...

CentOS7 で Jenkins+Maven+Git 継続的インテグレーション環境を構築する方法

この記事では、Spring boot + Maven プロジェクトのデプロイメントを例に、Code ...

HTMLハイパーリンクaタグのhrefジャンプとonclick間の実行順序の例

HTMLハイパーリンクaタグのhrefジャンプとonclickの実行関係htmlのaタグのhrefは...

MySQL トリガー構文とアプリケーション例

この記事では、例を使用して MySQL トリガーの構文とアプリケーションを説明します。ご参考までに、...

Ubuntu 20.04 に Xrdp サーバー (リモート デスクトップ) をインストールする方法

Xrdp は、グラフィカル インターフェイスを通じてリモート システムを制御できる Microsof...

jQuery は拡張アニメーションによるナビゲーション バー効果を実装します

展開アニメーション効果のあるナビゲーションバーを設計してカスタマイズし、デモを作成してみました。設計...

portainer を使用してリモート docker に接続するチュートリアル

Portainer は、Docker ホストと Docker Swarm クラスターの管理に使用でき...

HTML ページ出力で従うべきいくつかの原則の要約

1. DOCTYPE は必須です。ブラウザは宣言した DOCTYPE に基づいてページのレンダリング...

Linux で binlog ファイルの作成時間を表示するコマンド

目次背景分析する方法背景MySQL は 26 日の 16:23:49 に大量のスロー クエリを生成し...

mysql はフィールドコンテンツの一部を置き換え、mysql は関数 replace() を置き換えます。

[mysql] replace の使用方法 (フィールドの内容の一部を置き換える) [mysql]...

Html/Css (初心者が最初に読むべきガイド)

1. Web標準の意味を理解する - なぜWeb標準を採用するのか***** コンテンツとスタイル...

Node.js+expressメッセージボード機能実装例

目次メッセージボード必要なライブラリオープンソースプロジェクトプロジェクト構造メッセージボードnod...