2011-10-25 1 views
0

나는 ajax를 사용하여 php와 javascript로 코딩 된 외침 상자를 가지고 있으며 이미지가 shoutbox 내부로로드 될 때 shoutbox 스크롤에 문제가 있습니다. 각각 새로운 외침이 하단에 추가되고 아래로 스크롤됩니다.Jquery PHP 스크롤 문제가 있습니다. 어떻게 div 안에 이미지를 감지 할 수 있습니까?

문제점 : 이미지가 게시 될 때 shoutbox는 이미지의 맨 아래로 스크롤하지 않습니다. 이유 : 이미지가 게시되었습니다. 스크롤이 이미 실행 된 후 이미지가 최대로드로로드되고 크기가 CSS에서 설정된 최대 크기로 증가합니다. 그러면 전체 이미지를 보려면 맨 아래로 수동으로 스크롤해야합니다.

나는 현재

$(window).load(function() { 
tbSingleScroll(); 

을 사용하고});

이 문제는 페이지를 변경할 때만 작동하며 모든 이미지가 전체 페이지에서로드되기를 기다려야합니다.

shoutbox에있을 수있는 아주 작은 양의 이미지/스마일 사진과 비교하면 많은 종류입니다.

나는이 문제를 내가 기억할 수있는 것보다 오랫동안 스스로 해결하려고 노력 해왔다. 이것에 대한 도움이 될 것입니다 ..

답변

0

모든 shoutbox 이미지에로드 이벤트를 첨부하고로드 된 양을 계산하고 개수를 추가 한 다음 크기를 변경하거나 아래로 스크롤하십시오. 예를 들어

: 새로운 노드가 생성 될 때

var shoutbox_img_count = $('#shoutbox').find('img').size(); 
var shoutbox_loaded_count = 0; 

$('#my_shoutbox').find('img').load(function() { 
    shoutbox_loaded_count++; 
    if (shoutbox_loaded_count == shoutbox_img_count) { 
     // Do a scroll here 
    } 
}); 

또는 사용 정적 이미지/아이콘 크기가 자동으로 컨테이너로 표시 할 수 있도록 이미지가 여전히

+0

을 이것은로드되는 경우에도 어떤 이미지가 어디에서나 게시 될 수 있기 때문에 내가 찾고있는 것이 아닌 종류이기 때문에, 게시 된 각 이미지에 부하를 추가하는 것은 사전 일치를 포함하게됩니다. 어쨌든 특정 div에있는 이미지를 탐지 할 수 있습니까? div에있는 모든 소리가로드됩니다. # 거기에 이미지가 감지 될 수 있다면 트릭을 수행 할 수 있습니다. –

+0

왜 preg가 일치합니까? 새로운 숨겨진 컨테이너를 쉽게 삽입 할 수 있으며, 스크립트 시작 부분의 라이브로드 이벤트를 $ (container) .find ('img');와 같이 액세스하여 모든 이미지에 바인딩 한 다음 컨테이너 –

+1

을 표시 할 수 있습니다. 나는 너에게 정직해질거야. 나는 Jquery에 익숙하지 않다. 나는 지금까지 3 일간 그것을 배웠다. 나는 자바 스크립트에 대해 많이 알지 못해서 배우고 싶다. 나는 거의 알지 못한다고 생각합니다. shoutbox의 모든 이미지에 onload =를 추가하면 위의 코드가 작동한다는 것을 알고 있습니다. 답을 이해합니다. 실제 이미지에 onload를 추가하지 않으면 어떻게 할 수 있는지 이해할 수 없습니다. $ ("img")를 추가하면 생각합니다. addClass ("shoutbox"); –

관련 문제