jQuery マウス ホバー リンク ポップアップ フォロー画像サンプル code_javascript スキル

WBOY
リリース: 2016-05-16 15:21:10
オリジナル
1203 人が閲覧しました

この記事では、一般的に使用されるエフェクトを紹介します。つまり、マウスがリンク上をスライドすると、マウス ポインターの動きに追従するレイヤーが表示されます。実際のアプリケーションでは、通常、リンクの説明テキストや画像が表示されます。など。お待ちください。コード例は次のとおりです:

<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312">
<title>脚本之家</title>
<style type="text/css">
body{
 margin:0;
 padding:40px;
 background:#fff;
 font:80% Arial, Helvetica, sans-serif;
 color:#555;
 line-height:180%;
}
a{
 text-decoration:none;
 color:#f30; 
}
p{
 clear:both;
 margin:0;
 padding:.5em 0;
}
img{border:none;}
#screenshot{
 position:absolute;
 border:1px solid #ccc;
 background:#333;
 padding:5px;
 display:none;
 color:#fff;
}
</style>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
this.screenshotPreview=function(){ 
 xOffset = 10;
 yOffset = 30;
 $("a.screenshot").hover(function(e){
 this.t = this.title;
 var c = (this.t != "") &#63; "<br/>" + this.t : "";
 $("body").append("<p id='screenshot'><img src='"+this.rel+"' />"+c+"</p>");   
 $("#screenshot")
 .css("top",(e.pageY - xOffset) + "px")
 .css("left",(e.pageX + yOffset) + "px")
 .fadeIn("fast");  
 },
 function(){
 this.title = this.t; 
 $("#screenshot").remove();
 }); 
 $("a.screenshot").mousemove(function(e){
 $("#screenshot")
 .css("top",(e.pageY-xOffset)+"px")
 .css("left",(e.pageX+yOffset)+"px");
 }); 
};
$(document).ready(function(){
 screenshotPreview();
});
</script>
</head>
<body>
<a href="#" class="screenshot" title="蚂蚁部落" rel="mytest/demo/thesmall.jpg">蚂蚁部落</a>欢迎您
</body>
</html>
ログイン後にコピー

レンダリング:

上記のコードは要件を満たしています。実装プロセスを簡単に紹介します。
コードのコメント:
1.this.screenshotPreview=function(){ }、 は、次の効果を実装する関数を宣言します。この効果では、これは実際には省略でき、ウィンドウを指します。
2.xOffset=10, は、ポップアップ イメージからのマウス ポインターの水平距離を指定する変数を宣言します。
3.yOffset=30, は、ポップアップ イメージからのマウス ポインターの垂直距離を指定する変数を宣言します。
4.$("a.screenshot").hover(function(e){}, function(e){}), は、マウスがリンクに移動して離れるタイミングを指定します実行する関数。
5.this.t = this.title リンクの title 属性値を t 属性に割り当てます。ここで、これはポインタですto 現在マウスがホバーしているリンク オブジェクト。
6.var c = (this.t != "") ? "
" this.t : "",
this.t が空でない場合、つまり、title 属性値が存在する場合は、改行文字を挿入して現在のタイトルの内容を接続し、存在しない場合は c を空に設定します。
7.$("body").append("

" c "画像と関連する説明を本文に追加します。
8.$("#screenshot").css("top",(e.pageY-xOffset) "px").css("left",(e.pageX yOffset) "px") .fadeIn("fast"), でp要素のtopとleftの属性値を設定し、フェードイン効果を利用して表示します。
9.this.title=this.t, this.title にタイトルの内容を割り当てます。実際には、この文はなくても問題ありませんが、少し冗長です。
10.$("#screenshot").remove(), p 要素を削除します。
11.$("a.screenshot").mousemove(function(e){}), は、マウス ポインターが移動したときに従う画像を設定するために使用されます。
12.$("#screenshot").css("top",(e.pageY-xOffset) "px") .css("left",(e.pageX yOffset) "px") , は、p要素のtopとleftの属性値を設定して、以下の効果を実現します。

以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。

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