2009-10-25 8 views
0

나는 다음과 같은 코드가 있습니다 위/아래로 슬라이드 (내 생각에) nettuts에JQuery와 선택

$(document).ready(function() { 

var hash = window.location.hash.substr(1); 
var href = $('#nav li a').each(function(){ 
    var href = $(this).attr('href'); 
    if(hash==href.substr(0,href.length-5)){ 
    var toLoad = hash+'.html #content'; 
    $('#content').load(toLoad) 
    }   
}); 

$('#nav li a').click(function(){ 

    var toLoad = $(this).attr('href')+' #content'; 
    $('#content').slideUp(2000,loadContent); 
    window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5); 
    function loadContent() { 
    $('#content').load(toLoad,'',showNewContent()) 
    } 
    function showNewContent() { 
    $('#content').slideDown(2000,hideLoader()); 
    } 
    function hideLoader() { 
    $('#load').fadeOut('normal'); 
    } 
    return false; 

}); 

}); 

감사 코딩 정말 잘 쓰여진 간결하고 강력한 조각을

메신저 가진 문제를이 괜찮아요,하지만 높이가 각 콘텐츠 섹션에서 다릅니다 메신저에로드, 그것은 이전 높이로 열리고 새로운 하나에 스냅인, 내가 어떻게이 주위를 얻을 수 있습니까?

브라우저 뒤로/앞으로 버튼 기능을 추가하는 방법은 무엇입니까? 나는 havent이 아직 보았지만 어쨌든 물어 여기에 다시 와야 할 것입니다!

+0

js – geowa4

+0

와 함께 역사를 보존하는 데있어 이미 질문이 있습니다. 나는 질문을하고 있는데, 질문을하는 동안 ID를 던져 버리는 것을 생각하고 있습니다. 잘못된 높이로 슬라이딩하는 것이 내 문제입니다. – casben79

답변

1

slideDown 전에 새 콘텐츠를로드하면 이전 콘텐츠가 아닌 현재 콘텐츠로 바로 이동해야합니다. 뒤로 및 앞으로 버튼을 작동 시키려면 히스토리 플러그인이 필요합니다. 이 점에서 jQuery BBQ이 가장 좋습니다.

+0

새 내용을 먼저로드하고 있습니까? 아니면 대단히 잘못 생각합니까? – casben79