아래 코드를 사용하여 내 페이지 내용에 대해 jQuery fadeIn fadeout 효과를 만들려고합니다. 사용자가 메인 링크 나 갤러리 링크 중 하나를 클릭 할 때마다 JQuery fadeIn fadeOut 루프 문제
$(document).ready(function(){
$("#main").click(function(){
$("#content").fadeOut(800, function(){
$("#content").load("main.html", function(){
$("#content").fadeIn(800);
});
});
});
$("#gallery").click(function(){
$("#content").fadeOut(800, function(){
$("#content").load("gallery.html", function(){
$("#content").fadeIn(800);
});
});
});
});
그래서, 기존의 내용이 페이드 아웃 및 새로운 콘텐츠가 페이드. 내가 직면하고 문제는 모든 링크에 대해 내가 다시 동일한 코드를 반복해야한다는 것입니다 그리고 다시. 그래서 이것을 단순화하기 위해 루프를 사용하려고 시도했지만 작동하지 않습니다. 여기 내 코드는 다음과 같습니다.
var p = ["#main","#gallery", "#contact"];
var q = ["main.html", "gallery.html", "contact.html"];
for (i=0;i<=(p.length-1);i++){
$(p[i]).click(function(){
$("#content").fadeOut(500, function(){
$("#content").load(q[i], function(){
$("#content").fadeIn(500);
});
});
});
}
각 링크의 스크립트를 반복 작성하면 작동하지만 루프에서 결합 할 때 작동하지 않습니다. 나는 FadeOut 효과 만 얻고 그 후에는 아무 일도 일어나지 않습니다.
이것은 매우 간단한 문제이거나 jQuery의 깊이있는 것일 수 있습니다. 힌트 나 도움을 주시면 대단히 감사하겠습니다.
TK
하여 변수 i가 항상 Q [i]를 정의하게하는 3에서 평가
고맙다. 내 JavaScript 기술이 내가 생각했던 것만 큼 좋지 않을 것 같다. Wikser에게 감사한다. – Tarun