fadeIn 및 fadeOut을 사용하여 회전식 사진을 만들려고하지만 첫 번째 사진이 사라지고 다음 사진이 간단히 표시됩니다. 나는 부드러운 변화를 원한다. 나는 또한 내가 Codecademy에서 배운 것에 따라이 코드를 구조화했다. 나는 무엇이 잘못되었는지를 정말로 결정할 수 없다. 부트 스트랩을 사용하고 있습니다.JQuery fadeIn이 fadeOut과 작동하지 않습니다.
HTML :
<div class = "slidingPhotos" align="center">
<div class = "slide active-item">
<div class = "photo1">
<img src = "Images/mainImage.jpg"></img>
</div>
<div class = "description">
<h3> Welcome to O-Grocery! Your #1 Online Grocery Store </h3>
</div>
</div>
<div class = "slide ">
<div class = "container">
<div class = "photo1">
<img src = "Images/mainImage3.jpg"></img>
</div>
<div class = "description">
<h3> You have a thousand products to choose from at O-Grocery! </h3>
</div>
</div>
</div>
<div class = "slide">
<div class = "container">
<div class = "photo1">
<img src = "Images/mainImage2.jpg"></img>
</div>
<div class = "description">
<h3> You can guarantee 100% freshness of goods! </h3>
</div>
</div>
</div>
</div>
<div class ="footer" align="center">
<div class = "dots">
<div class = "arrow-prev">
<a href ="#"><img src = "Images/arrow-prev.png"></img></a>
</div>
<ul class="slider-dots">
<li class="dot active-dot">•</li>
<li class="dot">•</li>
<li class="dot">•</li>
</ul>
<div class = "arrow-next">
<a href ="#"><img src = "Images/arrow-next.png"></img></a>
</div>
</div>
</div>
JQuery와 fadeIn
및 fadeOut
비동기이며 동시에 두 애니메이션을 시작하기 때문에, 시간에 의해 제일 먼저 두 번째 페이드 아웃을 통해
$('.arrow-next').click(function() {
var currentSlide = $('.active-slide');
var nextSlide = currentSlide.next();
var currentDot = $('.active-dot');
var nextDot = currentDot.next();
if(nextSlide.length === 0) {
nextSlide = $('.slide').first();
nextDot = $('.dot').first();
}
currentSlide.fadeOut('slow').removeClass('active-slide');
nextSlide.fadeIn('slow').addClass('active-slide');
currentDot.removeClass('active-dot');
nextDot.addClass('active-dot');
});
콜백을 사용하십시오. 애니메이션 메서드에는 애니메이션이 완료 될 때 호출되는 콜백 함수가 있습니다. – undefined
아래 샘플 코드의 답을 참조하십시오. 첫 번째 애니메이션이 끝날 때까지 두 번째 애니메이션 대기를해야합니다. – nothingisnecessary
@nothingisnecessary 오. 나는 그것을 동시에 할 수 없다? Codecademy에서. 그들은 동시에 그것을하고 효력은 좋아 보인다. – Jessie