2013-04-05 3 views
0

뷰포트 크기가 변경되면 Facebook에서 채팅 상자를 숨기거나 표시하는 방식을 Jquery에서 재현하려고합니다. 기본적으로 6 개의 채팅 창이 열려 있고 브라우저의 크기를 조절하거나 축소하는 경우 육안으로 화면 크기를 수정할 수없는 경우 채팅 창의 일부가 숨겨집니다.창 크기를 조정할 때 페이스 북 채팅 상자를 숨기는 방법?

$ (window) .resize() 함수를 사용하여 열려있는 모든 윈도우와 여백의 합계 너비가 윈도우의 너비보다 큰지 감지 한 다음 첫 번째 채팅 윈도우를 숨기거나 마지막 윈도우를 표시합니다 더 많은 창문이있을만한 공간이 있다면 기본 팝업 또는 스택 밀어 ...

크기 조정이 실행될 때마다, 내 스크립트가 지속적으로 어떤 제안이

(아래 코드를 참조하십시오) ... 숨기거나 창을 표시 할 수 있도록 노력하고 있기 때문에 내 방법이 작동하지

고맙습니다.

ChatWidget.isEnoughRoom = function() {

return ($(window).width() > ((ChatWidget.WINDOW_WIDTH * $('.chatWindowWidget:visible').length) + ChatWidget.CONTACTLIST_WIDTH + 100));

};

$(window).resize(function(){

if(!ChatWidget.isEnoughRoom()) { 
      $('.chatWindow:visible:last').hide() ; 
    } else { 
     $('.chatWindow:hidden:last').show() ; 
    } 

})

+0

더 명확하게 표현할 수 있습니까? 코드를 제공 하시겠습니까? – tbem

+0

Window_Width는 240px이고 contactlist_width는 200px입니다. 기본적으로 모든 보이는 윈도우의 총 너비와 100px 여백을 가진 연락처 목록 윈도우를 추가하십시오. – guang

답변

0

귀하의 문제 솔기는 크기 조정 기능의 창을 크기를 조정할 때마다 트리거 여러 관련된다. 크롬으로 테스트를 해본 결과 두 번 나타났습니다. 시도해보십시오. https://github.com/louisremi/jquery-smartresize

+0

큰 제안! 그것은 한 번에 하나의 채팅 창을 숨기거나 보여 주지만 너무 크게 또는 작은 크기로 뷰포트의 크기를 조정하면 적절하게 창 수를 줄이거 나 늘리지 않습니다 ... 표시 할 함수를 다시 작성했습니다. 상자의 크기와 최종 창 크기. – guang

+0

시간 제한을 사용하여 크기 조정을 기다리고 너비를 가져보십시오. 호기심이 심한 크롬에서는 창을 리지 즈 (rezise) 할 때 창에 2 개의 너비 (1 픽셀 중 하나)와 실제 너비 중 하나를 사용합니다. 이 솔기는 jQuery가 아니라 작업을 수행하는 javascript 함수의 문제가됩니다. – tbem

+0

해답을 해결책으로 받아 들인 경우 제발, 아직 투표 할 수 없다고 생각합니다. 우리 모두 여기서 몇 가지 포인트를 얻고 싶습니다 =) – tbem