2011-03-09 2 views
0

를 사용하는 경우이 줄.load의 JQuery와 기능은 특정 사업부

$(window).load(startSlide); 

#bookcontainer 네 개의 이미지를 포함하는 div이다 않지만이 줄은

$('#bookcontainer').load(startSlide); 

작동하지 않습니다 작동하지 않습니다.

// JavaScript Document 
$('#bookcontainer').load(startSlide); 

var slide; 

$('#slider').hover( 
function() { 
     $('.arrow').show(); 
}, 
function() { 
     $('.arrow').hide(); 
}); 

function startSlide() { 
    $('.book').show(); 
    slide = setInterval(slideR, 5000); 
} 


function slideR() { 
    $('.book').first().css('left', '960px').appendTo('#bookcontainer').animate(
    { 
     "left": "-=960px" 
    }, { 
     duration: 1000, 
     easing: 'easeOutCubic' 
    }); 

} 


function slideL() { 
    $('.book').last().animate(
    { "left":"+=960px" }, { 
     duration: 1000, 
     easing: 'easeOutCubic', 
     complete: function() { 
     $(this).prependTo('#bookcontainer').css('left', '0px'); 
     } 
    }); 

} 


function right() { 
    clearInterval(slide); 
    slideR(); 
    startSlide(); 
}; 


function left() { 
    clearInterval(slide); 
    slideL(); 
    startSlide(); 
}; 

답변

5

살펴로드 이벤트는 단지 URL과 관련된 요소를 처리 할 수 ​​있습니다.documentation로부터 :

로드 이벤트는 모든 서브 - 소자가 완전히로드 된 요소 로 전송된다. 이 이벤트는 URL과 연결된 요소 (이미지, 스크립트, 프레임, iframe, 및 창 개체)로 전송 된 일 수 있습니다.

모든 이미지가로드되기를 기다리는 경우 해당 이미지에 이벤트 처리기를 개별적으로 적용 할 수 있습니다.

또한 $(window).load(...)은 페이지의 모든 요소가 완전히로드 (그래픽 포함) 될 때까지 실행되지 않으므로 div에 이벤트를 바인딩하여 하위 요소가로드되었는지 확인할 필요가 없습니다.

AJAX 요청을 작성하고 해당 콘텐츠가 div에로드되었을 때 검색하려고 시도하면 startSlide을 AJAX 요청의 성공적인 콜백으로 설정해야합니다.

+0

일단 이미지가 포함 된 div (모든 이미지)가로드되면 어떻게 함수를 호출합니까? – 808inbinary

+0

@ user643440 :'$ (window) .load (...)'를 사용하면,'div' (그리고 다른 모든'div's) 안에있는 모든 이미지가로드 될 것입니다. –

+0

div의 마지막 이미지에 ID를 지정하고 $ ('# lastbook')을 호출했습니다. load (startSlide);'모든 이미지가로드 될 때까지 슬라이드를 시작하지 않습니다. – 808inbinary

-1

는 div 요소는 load 이벤트를 트리거하지 않습니다

여기 내 전체 코드입니다. 당신은 $('#bookcontainer').load('url', startSlide); 사용해야

+0

로드는 이벤트가 아니지만 Ajax를 통해 내용을로드하는 jQuery의 약식 메소드입니다. – jatanp

+1

@ jatanp : 사실이 아닙니다.'load' * 이벤트입니다. 특정 요소에서만 트리거됩니다. 자세한 내용은 내 대답을 참조하십시오. –

+0

@andrew 정보에 감사드립니다. 나는 결코 알지 못했습니다. – jatanp