Mouse_JavaScript ヒントを使用して小さなアイコンをホバーしたときに大きなアイコンを表示する

WBOY
リリース: 2016-05-16 15:18:41
オリジナル
1485 人が閲覧しました

ページ要素は div->table->tr->td です。td の画像の場合、マウスをその上に置くと大きな画像が表示され、マウスを置くと大きな画像が消えます。左:

まず、dom 要素を作成するための jq の構文を知る必要があります。$(html タグ)、たとえば、img タグはここで作成されます var img = $("< /img>");

次に、hover メソッドはマウスをホバーして離すために使用されます。構文は $(selector).hover(inFunction,outFunction),
です。 選択した要素の上にマウス ポインターを置いたときに実行する 2 つの関数を指定します。このうち、inFunction は必須、outFunction はオプションです。

このメソッドは、mouseenter イベントと Mouseleave イベントをトリガーします。

注: 関数が 1 つだけ指定されている場合は、mouseenter イベントと Mouseleave イベントで実行されます。

ここで定義されている inFunction は、大きな画像の位置を決定するもので、outFunction は、remove によって作成された img ノードです。

1) オブジェクトを作成するだけでは不十分です。jq で使用されるメソッドは、作成したオブジェクトをドキュメント ノードに追加する必要もあります。

append() - 選択した要素の末尾にコンテンツを挿入します

prepend() - 選択した要素の先頭にコンテンツ
を挿入します after() - 選択した要素の後にコンテンツを挿入します
before() - 選択した要素の前にコンテンツを挿入します

ここに適用するには、まず img に値を割り当ててから、次を追加します:

img.attr("src", $element.find(".prePhoto").attr("src"));
$element.append(img);
ログイン後にコピー
2) 大きな画像の位置を決定する場合、3 つのパラメーターが必要です。最初のパラメーターは、td の親要素が選択されています。tr: var $element = $(this).parents( "tr") 。


2 番目は今回作成したターゲット要素です。ここは img です。3 番目はターゲット要素が表示されるエリア要素です。通常は大きな要素です。ここはテーブルの親要素 div、$(". FatherDiv ")


したがって、具体的な方法は、

function getPosition($element, img, $(".fatherDiv"){
var top = $element.position().top + $element.height();//得到top:参照元素的top + 参照元素本身的height。
var maxBottom = $(".fatherDiv").height();//得到区域元素的height。
var minTop = 40;
if (top + img.height() > maxBottom) {
top = $element.position().top - img.height();
}
if (top < minTop) {//两个if判断,保证无论怎么划动鼠标的滑轮,目标元素始终出现在屏幕上。
top = minTop;
}
var $firstElement = $($(".fatherDivtbody tr")[0]);
img.css('top',top - $firstElement.position().top + 40);
}
ログイン後にコピー
3) 作成されたオブジェクトを削除します $element.remove();

4) ターゲット要素の CSS はいくつかの条件を満たす必要があります:position:absolute

.changePhoto {
position: absolute;
width: 120px;
height: 160px;
left: 300px;
right: 10px;
float: right;
z-index: 9;
}
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート