2014-10-19 79 views
0

我有許多「閱讀更多」鏈接的片段,我正在尋找一種方法來爲所有片段提供相同的選擇器。我認爲jQuery的下一個可以工作:Slidetoggle下一個元素

<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> 

不幸的是,一個當點擊文本的所有片段出現「更多」鏈接,而不只是一個元素。上面的代碼有什麼問題?

這是JsFiddle

回答

0

你應該改變

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

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

所以next()選擇在click()事件功能在同一只適用於當前點擊的元素,而不是與類readmore所有元素時間。

+0

哇!是那麼簡單:)最後一件事:有沒有一種方法可以輕鬆滾動到「出現」文本,而不是在幻燈片效果結束後跳轉? – MultiformeIngegno 2014-10-19 22:31:25

+0

@MultiformeIngegno很高興我能夠提供幫助。關於滾動 - 你的意思是喜歡這個? http://jsfiddle.net/qLvzvvL6/ – 2014-10-19 23:05:59

+0

沒錯,沒關係!如果屏幕可以在div的同一時間滾動(現在是在div滾動之後),將會是完美的 – MultiformeIngegno 2014-10-19 23:20:22