1

我有这段代码应该只显示一行,但是它不只显示第一行,而是显示全部内容。当我单击“显示更多”按钮时,侧面只会向上滚动到顶部。

PHP:

/* Inside a loop */

<?php 
    $full_text = get_the_content();
    $period_pos = strpos($full_text, ".");
    $excerpt = substr($full_text, 0, $period_pos+1);    // Get the first line, assuming that a line ends with a period.
    $rest = substr($full_text, $period_pos+1);          // Get the rest of the text  ?>  <div class="excerpt">
    <?php echo $excerpt; ?>  </div>  <div class="rest">
    <?php echo $rest; ?>  </div>  <div class="show-more-div">
    <a href="#" class="show-more">Show more</a>  </div>

jQuery:

$(document).ready(function(){
    $(".show-more").click(function(){
         $(this).parent().prev().slideDown();     
    });
});
4

2 回答 2

1

您需要从div.rest使用 CSS 隐藏的元素开始。
然后,当你点击链接时,相应的 div 就可以了slideDown()

div.rest {
    display:none;
}

这是一个工作示例。

编辑:

我还建议添加return false;到您的click处理程序以防止 href 的默认单击行为:

$(document).ready(function () {
    $(".show-more").click(function () {
        $(this).parent().prev().slideDown();
        return false;
    });
});

http://jsfiddle.net/PxejR/1/

于 2013-07-24T18:18:48.033 回答
-1
$(".show-more").on("click",function(){

       $(this).parent().prev().slideDown();     
  });
于 2013-07-24T18:03:04.523 回答