>  기사  >  웹 프론트엔드  >  jQuery 마우스 호버 링크 팝업 팔로우 이미지 예제 code_javascript 기술

jQuery 마우스 호버 링크 팝업 팔로우 이미지 예제 code_javascript 기술

WBOY
WBOY원래의
2016-05-16 15:21:101217검색

이 기사에서는 일반적으로 사용되는 효과를 소개합니다. 즉, 마우스를 링크 위로 슬라이드하면 마우스 포인터의 움직임을 따르는 레이어가 나타날 수 있습니다. 실제 응용 프로그램에서는 일반적으로 링크에 대한 설명 텍스트나 그림이 나타납니다. , 등. 잠깐, 코드 예시는 다음과 같습니다.

<!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, 링크의 제목 속성 값을 t 속성에 할당합니다. 여기서 이것이 포인터입니다. to 현재 마우스가 가리키고 있는 링크 개체입니다.
6.var c = (this.t != "") ? "076402276aae5dbec7f672f8f4e5cc81" this.t : "", this.t가 비어 있지 않은 경우 즉, title 속성 값이 존재하면 개행 문자를 삽입하고 현재 제목 내용을 연결하고, 그렇지 않으면 c를 공백으로 설정합니다.
7.$("body").append("15918063f12c8a89e603632d0a3ad085bb0d1b54c29fd88a8e8b568dfb04cf65" c "본문에 사진과 관련 설명을 추가합니다.
8.$("#screenshot").css("top",(e.pageY-xOffset) "px").css("left",(e.pageX yOffset) "px") .fadeIn("fast"), 은 p 요소의 상단 및 왼쪽 속성 값을 설정하고 페이드인 효과를 사용하여 표시합니다.
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 요소의 상단 및 왼쪽 속성 값을 설정하여 다음과 같은 효과를 얻습니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.