>  기사  >  웹 프론트엔드  >  jQuery 코드는 그림 wall_jquery의 자동 + 수동 페이드인 및 페이드아웃 전환 효과를 실현합니다.

jQuery 코드는 그림 wall_jquery의 자동 + 수동 페이드인 및 페이드아웃 전환 효과를 실현합니다.

WBOY
WBOY원래의
2016-05-16 15:01:321468검색

관련자료:

이미지 캐러셀 효과를 구현하는 Jquery 코드(1)

웹페이지에서 배경 이미지가 자동으로 페이드 인/아웃되는 효과를 자주 볼 수 있는데, 이는 매우 아름답고 실용적입니다. 오늘은 jquery 코드를 기반으로 한 그림벽의 자동+수동 페이드인, 페이드아웃 전환 효과에 대해 함께 알아보는 시간을 가져보겠습니다!

먼저 렌더링을 보여드리겠습니다. 좋다고 생각하시면 구체적인 구현코드를 참고해주세요.


div(class=container)를 추가하고 너비와 높이를 설정합니다. 여기서 너비는 800px, 높이는 450px입니다. 중앙 위치 지정을 추가합니다. 이미지를 보관하려면 ul(class="img") 목록을 div에 추가하세요. 이때 ul의 li 태그 위치는 절대값으로 설정되며 표시가 없음으로 설정됩니다. 이미지는 너비와 높이를 컨테이너와 동일하게 설정합니다. 아래 숫자 행을 유지하기 위해 컨테이너에 또 다른 ul 목록을 추가한 다음 그에 따라 위치를 지정하고 설정합니다. 두 개의 div(각각 왼쪽 및 오른쪽 버튼)를 추가하고 해당 위치 지정 및 설정을 수행합니다. 내부의 화살표는 각각 보다 큼 기호와 보다 작음 기호입니다.

구현 아이디어 및 원칙 소개:

해당 번호 위로 마우스를 이동하면 $(this).index()를 사용하여 해당 번호가 위치한 컨테이너에서 일련번호를 가져온 다음 해당 일련번호를 eq() 함수에 전달하여 Li를 가져옵니다. 레이블을 지정한 다음 fadeIn(); 함수를 추가합니다. 이런 식으로 숨겨진 그림이 표시되고 sibling().fadeOut()이 동시에 호출되어 동일한 수준의 형제 노드를 숨기므로 이전에 표시된 그림이 표시됩니다. 사진이 숨겨져 있습니다.

이미지를 동시에 변경하려면 setInterval() 함수를 추가하세요.

자동 전환과 수동 전환 사이의 충돌이 가장 큰 문제라고 생각합니다. 여기서 사용되는 방법은 다음과 같습니다.

컨테이너에 호버 기능을 추가합니다. 마우스가 컨테이너 안으로 이동할 때 ClearInterval() 함수를 사용하여 시간 간격 기능을 제거합니다. 이렇게 하면 마우스가 그림 위로 이동할 때 그림이 전환되지 않습니다. 마우스가 밖으로 움직일 때 추가하세요. 이런 식으로 사진을 계속해서 전환할 수 있습니다.


참고: i와 t는 서로 다른 기능을 공유할 수 있도록 전역 변수로 설정해야 합니다. i는 현재 표시된 이미지의 인덱스를 나타냅니다. t는 setInterval의 ID입니다. 마우스가 밖으로 움직일 때 t를 변경할 필요가 없습니다. t=setInterval(time_fun,1500);만 하면 됩니다.

eq(n): n번째 요소 찾기


예: $('li').eq(2).css('ground-color', 'red');//두 번째 li 태그의 배경색을 빨간색으로 설정


index(): 요소의 인덱스 값을 찾습니다.


관심이 있으시면 코드를 연구하세요:


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-">
<title>jquery_img_switch</title>
</head>
<style type="text/css">
*{
margin: ;
padding: ;
}
.container{
width: px;
height: px;
margin: px auto;
position: relative;
}
.container .img{
list-style: none;
/*position: absolute;*/
}
.container .img li{
position: absolute;
display: none;
}
.container .img img{
width: px;
height: px;
}
.container .num{
position: absolute;
list-style: none;
font-size: ;
bottom: px;
width: %;
text-align: center; 
}
.container .num li{
width: px;
height: px;
background: rgba(,,,.);
border-radius: %;
color: #;
display: inline-block;
line-height: px;
text-align: center;
font-size: px;
margin-right: px;
cursor: pointer;
}
.left, .right{
width: px;
height: px;
text-align: center;
line-height: px;
background-color: rgba(,,,.);
color: #fff;
position: absolute;
top: %;
margin-top: -px; 
font-size: px;
cursor: pointer;
}
.left{
left: px;
}
.right{
right: px;
}
.container .num .active{
background: rgba(,,,);
color: #fff;
}
</style>
<script type="text/javascript" src="../jquery-...min.js"></script>
<script type="text/javascript">
var i=;
var t;
$(document).ready(function(){
$(".container .img li").eq(i).fadeIn().siblings().fadeOut(); 
$(".container .num li").on("mouseover",active);
t=setInterval(time_fun,);
$(".container").hover(in_fun,out_fun);
$(".container .left").on("click",left_fun);
$(".container .right").on("click",right_fun);
});
function time_fun(){
i++;
if(i==){
i=;
}
$(".container .num li").eq(i).addClass("active").siblings().removeClass("active");
$(".container .img li").eq(i).fadeIn().siblings().fadeOut();
}
function in_fun(){
clearInterval(t);
}
function out_fun(){
t=setInterval(time_fun,);
}
function active(){
$(this).addClass("active").siblings().removeClass("active");
$(".container .img li").eq($(this).index()).fadeIn().siblings().fadeOut();
i=$(this).index();
}
function left_fun(){
i--;
if(i==-){
i=;
}
$(".container .num li").eq(i).addClass("active").siblings().removeClass("active");
$(".container .img li").eq(i).fadeIn().siblings().fadeOut();
}
function right_fun(){
i++;
if(i==){
i=;
}
$(".container .num li").eq(i).addClass("active").siblings().removeClass("active");
$(".container .img li").eq(i).fadeIn().siblings().fadeOut();
}
</script>
<body>
<div class="container">
<ul class="img">
<li ><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
</ul>
<ul class="num">
<li class="active"></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<div class="left"><</div>
<div class="right">></div>
</div>
</body>
</html>
위는 픽처 월의 자동 + 수동 페이드 인 및 페이드 아웃 전환 효과를 구현하기 위해 편집자가 가져온 jQuery 코드입니다. 동시에 도움이 되길 바랍니다. Script House 웹사이트에 대한 귀하의 지원에 매우 감사드립니다!

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