2014-10-19 5 views
0

"많은 읽을 거리가있는"링크가있는 많은 미리보기가 있는데, 모든 코드 조각에 대해 동일한 선택기를 사용할 수있는 방법을 찾고 있습니다. 대신 다음 요소의 하나를 클릭 할 때Slidetoggle next element

<script> 
$(document).ready(function() { 
    $(".readmore").click(function() { 
     $(".readmore").next().slideToggle("slow", function() { 
      $(window).scrollTop($(this).offset().top); 
     }); 
    }); 
}); 
</script> 

Visible text 1<a class="readmore">Read More 1</a><div class="more">Text to appear 1</div> 
Visible text 2<a class="readmore">Read More 2</a><div class="more">Text to appear 2</div> 
Visible text 3<a class="readmore">Read More 3</a><div class="more">Text to appear 3</div> 

<style>.more {display:none}</style> 

불행하게도, 모든 조각 텍스트가 나타납니다 링크 "자세히"나는 jQuery의 다음 작업 수 있다고 생각했다. 위의 코드에 어떤 문제가 있습니까?

여기에 JsFiddle이 있습니다. 당신은 그래서 click() 이벤트 함수에서 next() 선택은 같은에서 대신 클래스 readmore 모든 요소의 현재 클릭 한 요소에 적용되는

$(".readmore").click(function() { 
    $(".readmore").next()... 

$(".readmore").click(function() { 
    $(this).next()... 

에 변경해야

답변

0

시각.

+0

와우! 간단합니다 :) 마지막 사항 : 슬라이드 효과가 끝난 후에 점프하는 대신 "등장한"텍스트로 부드럽게 스크롤하는 방법이 있습니까? – MultiformeIngegno

+0

@MultiformeIngegno 내가 도울 수있어서 기뻤다. 스크롤 정보 - 예. 이거? http://jsfiddle.net/qLvzvvL6/ –

+0

그래, 괜찮아! 화면이 div와 같은 시간에 스크롤 할 수 있다면 완벽 할 것입니다. (이제는 div가 스크롤 된 후입니다) – MultiformeIngegno