EDIT : = =로 바꾸면 해결되지만 완전히 해결되지는 않지만 $ currentSlide에 변경 사항을 추가하면 작동합니다! 예!Jquery keydown은 한 번만 작동합니다.
$(document).keydown(function(e) {
if(e.keyCode == 39)
{
if($currentSlide == $slide1){
slideShow(slide2);
$currentSlide = $slide2;
}
else if($currentSlide == $slide2){
slideShow(slide3);
$currentSlide = $slide3;
}
else if($currentSlide == $slide3){
slideShow(slide1);
$currentSlide = $slide1;
}
}
})
나는 대답을 검색했지만 내 질문에 맞는 것을 찾지 못했습니다. 나는 자바 스크립트에 대한 멍청한 놈이다.
저는 슬라이드 쇼로 작동하는 기능이 있습니다. (내 JQuery와 변수 앞에 $를 사용하여, 나는 자바 스크립트 변수의 여지가 너무 그래서 난 그냥 그들을 분리하는 데 사용합니다.)
var $currentSlide = "#slide1";
var $slide1 = "#slide1";
var $slide2 = "#slide2";
var $slide3 = "#slide3";
function slideShow($slide) {
if ($slide != $currentSlide){
$($currentSlide).fadeOut(500);
$($slide).delay(500).fadeIn(500);
$currentSlide = $slide;
}
};
을이 함수를 호출하기 위해, 나는 매개 변수와 함께 간단한 링크를 이용해 어떤 슬라이드가 활성 상태인지에 따라
onclick="slideShow(slide2)"
그런 다음 키 누르기 (오른쪽)로 슬라이드를 변경하고 싶습니다. 링크를 사용하는 경우 그것은 완벽하게 작동하지만 키를 누를 때 매우 이상한 행동
$(document).keydown(function(e) {
if(e.keyCode == 39) {
if ($currentSlide = $slide1){
slideShow(slide2);
} else if($currentSlide = $slide2) {
slideShow(slide3);
} else if($currentSlide = $slide3) {
slideShow(slide1);
}
}
})
:이 키를 누를 때 내 코드입니다. 첫 번째 클릭은 매력처럼 작동하지만 더 이상 작동하지 않습니다. 세 번째 슬라이드를 클릭하기 위해 클릭하면 또 다른 클릭은 다음 슬라이드를 slide3 위에 올려 놓지 만 slide3은 사라지지 않습니다.
나는 여기에 내게 큰 실수가 있다는 것을 알고 있지만, 너무 초보자가되어서 고쳐야한다. 어떤 아이디어?
이 중첩 된 상태를'확인하는 경우 ($ currentSlide = $ 슬라이드 1)''해야하는 경우 ($의 currentSlide == $ 슬라이드 1)' – MysterX