2013-07-24 4 views
1

У меня есть этот код, который должен показывать только одну строку, однако вместо того, чтобы показывать только первую строку, он показывает полный контент. Когда я нажимаю кнопку «показать больше», сторона только прокручивается вверх.Код jquery с показом больше не работает

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();  
    }); 
}); 
+1

Разбейте свой вопрос на: 1) Что я хочу сделать 2) Что у меня есть 3) Что не работает. Вы получите больше людей, желающих помочь с лучшим структурированным вопросом. –

+1

У вас есть CSS для включения? – showdev

ответ

-1
$(".show-more").on("click",function(){ 

     $(this).parent().prev().slideDown();  
    }); 
+0

Где вы видите цикл, который добавляет div после загрузки DOM? Цикл, как представляется, написан на PHP и выполняется на стороне сервера до того, как страница будет обслуживаться. – showdev

+0

Спасибо за ваши ценные отзывы. Но использование 'on' - лучший вариант, а не 'click'. –

1

Вам нужно будет начать с div.rest элементов спрятанных с помощью CSS.
Затем, когда вы нажимаете на ссылку, соответствующий div может slideDown().

div.rest { 
    display:none; 
} 

Here's a working sample.

EDIT:

Я также рекомендую добавить return false; к вашему click обработчика для того, чтобы предотвратить поведение по умолчанию Нажмите для HREF:

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

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

+0

благодарит всех за терпение, я все еще участвую, и у меня все еще проблемы даже с основами. Хорошо, моя ошибка забыли отображение div.rest: нет, однако теперь открывается только первый и последний из всех контейнеров ... – user2605258

+0

Трудно устранять неполадки, не видя ваш фактический визуализированный HTML/CSS. Вот пример с несколькими блоками контента: http://jsfiddle.net/PxejR/2/ – showdev

Смежные вопросы