ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript - マウスがページ上に移動または留まると、プロンプト ボックスが表示されます。

JavaScript - マウスがページ上に移動または留まると、プロンプト ボックスが表示されます。

php是最好的语言
php是最好的语言オリジナル
2018-08-06 10:19:243124ブラウズ

マウスが非表示のコンテンツに移動するとプロンプト ボックスが表示され、マウスがプロンプト ボックス上に留まると引き続き表示されます。マウスをプロンプト ボックスから離れるとプロンプト ボックスが消え、内容が非表示になります。

使用すると、テーブルボックスの幅は固定され、幅を超える余分な情報は省略記号で表示されます。

テーブル ボックスの CSS を

table-layout: fixed;
word-break: break-all;
に設定します。

余分な文字は省略記号として表示されます:

.hideMore {
    width:60px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

プロンプト ボックスを表示するときに使用するメソッドの説明:

1. delegate() メソッドは、指定された要素 (子に属します) です。選択した要素の) 要素) を使用して、1 つ以上のイベント ハンドラーを追加し、それらのイベントの発生時に実行する関数を指定します。

delegate() メソッドを使用するイベント ハンドラーは、現在または将来の要素 (スクリプトによって作成された新しい要素など) に適用されます。

2. setTimeout() メソッドは、指定したミリ秒後に関数を呼び出すか、式を計算するために使用されます。

<body>
<table>
//表格内多余的seat将被用省略号来显示
//鼠标移动到这里将显示提示框提示内容(可以自定义)
<td class="hideMore"><span alert-content="$!{policy.seat}">$!{policy.seat}</span>
<table>
<body>
javascript代码:
  
$(function () {

var tableShow = null;
            var tipShow = null;
            var delayTime = 200;
             //离开至表格隐藏tip
            $("body").delegate("span", "mouseleave", function () {
                tipShow = setTimeout(function () {
                    $(&#39;[data-ui="alert-layer"]&#39;).remove()
                }, delayTime)
            });
                    //移动至表格显示tip
                    $("body").delegate("span", "mouseover", function () {
                        var seat = $(this);
                        tableShow = setTimeout(function () {
                            showTip(seat)
                        }, delayTime)
                    });
            //在tip上继续显示
            $("body").delegate(&#39;[data-ui="alert-layer"]&#39;, "mouseover", function () {
                clearTimeout(tipShow)
            });
                    //离开tip隐藏
                    $("body").delegate(&#39;[data-ui="alert-layer"]&#39;, "mouseleave", function () {
                        tipShow = setTimeout(function () {
                            $(&#39;[data-ui="alert-layer"]&#39;).remove()
                        }, delayTime)
                    });
            //予以显示
            function showTip(seat) {
                var content = seat.attr("alert-content");
                var position = {
                    top: seat.offset().top + seat.height(),
                    left: seat.offset().left-3,
                    index: 9999
                };
                var content = "<p data-ui=\"alert-layer\" class=\"more-seat\"><p class=\"bg\"></p>"+content+"</p>";
                $(&#39;[data-ui="alert-layer"]&#39;).length || ($("body").append(content),
                        $(&#39;[data-ui="alert-layer"]&#39;).css(position))
            }
})
//显示 提示框p的CSS样式
.more-seat {
        white-space: nowrap;
        color: #566c7e;
        position: absolute;
        z-index: 99999;
        background: #f8fcff;
        line-height: normal;
        border: 1px solid #c3d5e3;
        padding: 14px 16px;
        cursor: default;
        font-family: verdana;
    }

使用例:

JavaScript - マウスがページ上に移動または留まると、プロンプト ボックスが表示されます。

使用される技術と手法はそれほど高度ではありません、マスターは提案を残すことができます。

関連記事:

マウス移動時にタイトルに画像を表示するjsエフェクトコード_画像特殊効果

マウスを3秒ホバーすると自動的に大きな画像のjsコードを表示

以上がJavaScript - マウスがページ上に移動または留まると、プロンプト ボックスが表示されます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。