2012-10-07 3 views
0

난 아직도 jQuery를 아주 새로운 해요 그래서 ... 나와 함께 내가 벽돌 플러그인을 사용하고
을 부담, 여기를 변경하여 숨겨진 사업부를 표시합니다 내 코드 - .pics에벽돌을 다시 두 번 발사하는 방법은 무엇입니까?

$(document).ready(function(){ 
     $(".pics-hidden").hide(); 

     $('.pics').click(function() { 
      $('#div'+$(this).attr('rarget')).addClass('pics').removeClass('#div'+$(this).attr('rarget')).delay(600).fadeIn(400); 
      $('#projectimages').masonry('reload'); 
     }); 

     $('.close').click(function() { 
      $('#div'+$(this).attr('larget')).addClass('.pics-hidden').removeClass('#div'+$(this).attr('larget')).delay(600).fadeOut(400); 
      $('#projectimages').masonry('reload'); 
      return false; 
     }); 
}); 

클릭입니다 클래스를 수정하고 벽돌로드 플러그인을 다시로드하지만 닫기 버튼 (.close)을 사용하여 div를 닫으려고하면 div가 성공적으로 닫히지 만 벽돌은이 시간을 다시로드하지 않고 빈 공간을 남깁니다.

다음은 내가 작업하고있는 템플릿입니다. www.nealfletcher.co.uk/testingtesting
.masonry ('reload')를 두 번 실행하는 것이 가능한지 또는 문제를 해결할 다른 솔루션이 궁금합니다.

답변

0

은 정말 실제로 무엇을 벽돌, 에보고하지 않은하지만 당신은 아무것도 반환 문 후 실행되지 않습니다으로 $('.close').click(function() {...});$('#projectimages').masonry('reload');

전에

return false; 

를 이동할 수 있습니다.

편집 : (닫을 때 제거 '사진'클래스)

$('.close').click(function() { 
     $('#div'+$(this).attr('larget')).removeClass('pics').addClass('.pics-hidden').removeClass('#div'+$(this).attr('larget')).delay(600).fadeOut(400); 
     $('#projectimages').masonry('reload'); 
     return false;  
}); 
+0

제안 해 주셔서 감사합니다.하지만 여전히 작동하지 않습니다. 나는 'false를 반환한다'라는 몇 가지 변형을 시도했다. 여전히 바닥으로 옮기는 것은 효과가 없습니다. – user1374796

+0

닫을 때 '사진'수업을 삭제해야 할 수도 있습니다. addClass ('.pics-hidden'). removeClass ('# div'+ $ (this)) removeClass ('pics-hidden'). removeClass ('# div'+ $ this) .attr ('larget')). 지연 (600) .fadeOut (400); –

0

당신이 시도하고 닫기 버튼에서와 벽돌이 다시로드하기 전에

$(".pics-hidden").hide();
를 추가 할 수 있습니까? 나는 비슷한 문제를 겪었고 그것을 완전히 다르게 풀었다. 나는 그것이 도움이되기를 바랍니다. 하지만 지금은 효과가있는 것 같습니다. 나는 갭을 볼 수 없습니까?

관련 문제