페이지 변경시 일부 이미지를 삽입하는 프레임 워크 (vue.js)가 있습니다 (실제 페이지를 새로 고치지 않고 라우터 사용). 직접로드 할 때, 페이지가 로딩 화면을 표시 할 수 있습니다 : 페이지가 프레임 워크를 통해 탐색 된 경우창 자체가로드 된 후 로딩 이벤트를 트리거하는 방법은 무엇입니까?
loading = true;
$(window).on('load', function(){
loading = false;
});
그러나, $(window).on('load')
이 실행되지 않습니다. 이것은 window
이 이미로드되어 있고 새 이미지로드가 더 이상 창에 연결되어 있지 않기 때문입니다. 따라서 창이 이미로드되어 있으므로 loading = false
이 실행되지 않습니다.
여기에 매우 단순화 된 예입니다,하지만 같은 점을 보여
이//Loading the initial image, it works fine because it runs on window load.
console.log('Loading first image...')
$(window).on('load',function(){
console.log('First image loaded');
});
$('button').on('click',function(){
$('div').append('<img src="https://placekitten.com/200/300">');
console.log('Loading extra image...');
//This never triggers because the window is already loaded.
//I need something to trigger while the appended images are loading
$(window).on('load',function(){
console.log('Extra image loaded.');
});
});
HTML :
<img src="https://placekitten.com/200/300">
<button>Click to load extra</button>
<div></div>
가 여기
codepen입니다.
당신은 고유 식별자로 각각의 새로운 이미지에 .load() 리스너를 추가, 당신은 한 번에 모든 이미지를로드하는 기능을 실행하는 데 사용할 수있는 배열을 추적 할 수 있습니다
아니 생각,하지만 당신은 시도 :
는 여기 codepen이 보여주는거야? (나는 당신이'on'으로 이벤트를 일으킬 수 있다고 생각하지 않습니다.)하지만 물어야합니다, 왜 이것을해야합니까? 새 이미지를 별도로로드 할 수 있습니다. – DBS
이미지를 페이지에 추가하기 전에 이미지를로드하면로드 된 모든 코드를 실행할 수 있습니다. http://stackoverflow.com/questions/10863658/load-image-with-jquery-and-append-it-to-the -dom – DBS
@DBS 이미지가 실제로로드되었는지 여부에 관계없이로드 이벤트를 트리거 할 수는 없습니까? 내가 어떻게 세울거야? 로딩을 별도로 듣고 언급했습니다. 또한 이것이 무슨 뜻인지 확실하지 않습니다. 두 번째 의견에 대해서는 안타깝게도 실제로 사용하고있는 프레임 워크의 옵션이 아닙니다. 아무리 어려움없이, 어쨌든. –