Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.10.2012, 02:29
Аватар для Rikimaru2013
Новичок на форуме
Отправить личное сообщение для Rikimaru2013 Посмотреть профиль Найти все сообщения от Rikimaru2013
 
Регистрация: 19.10.2012
Сообщений: 6

функционал "Читать полностью"
Доброй ночи,

Решил проверить свои силы в jQuerry на маленьких кодах и понял, что повязь по уши в своих пробелах в знаниях по этой библиотеке.

Задача: все <div> у которых высота больше 150px, уменьшить до 130px, добавить нижний margin, поместить туда еще один <div> с словами "читать полностью". При нажатии на "читать полностью" - раскрывается.

Данный функционал используется в вконакте.ru

Мои начинания:

<div class="Posts">
<p>Mauris id mattis diam. Vestibulum eget ipsum sit amet nulla auctor pulvinar at et mauris. Donec faucibus euismod dapibus. Suspendisse potenti. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam vitae quam dui, sit amet lacinia nisl. Nulla volutpat sollicitudin elit vel elementum.

Pellentesque varius, purus at vestibulum aliquet, justo purus commodo nulla, ut facilisis nisi dui et nunc. Pellentesque gravida vestibulum scelerisque. Phasellus blandit tincidunt nisi, eget volutpat leo condimentum in. Pellentesque molestie imperdiet enim, a posuere libero consectetur et. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus nec tempor orci. Duis ullamcorper, mi in sodales tincidunt, ipsum orci blandit est, in eleifend libero est a nulla. Proin auctor tellus a ligula malesuada adipiscing eget interdum augue. Morbi vel purus orci, ut gravida mi. Proin vehicula porta tortor, eget laoreet quam accumsan quis. Integer dictum tincidunt ipsum et mollis. Nunc nibh arcu, aliquam sit amet vehicula ac, fringilla quis orci. Curabitur sit amet sem a odio vehicula consectetur in vel enim. Proin nec sem eros. Sed a lectus ligula, quis fringilla nulla. Suspendisse potenti.

In varius posuere tempus. Maecenas quis orci turpis. Curabitur a tortor eget lorem eleifend convallis at ac lacus. Quisque eget massa velit, in vehicula arcu. Suspendisse suscipit accumsan mi sed placerat. Aenean ut libero pulvinar odio porta aliquet eu ut ligula. Donec fringilla erat sed sapien ultricies adipiscing.</p></div>
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2012, 04:30
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Че-нибудь типа

var expandPost = function(){
    $(this).parent().css({height:  'auto', overflow: 'auto'});
    $(this).remove();
};

$('.post').each(function(post){
    if ($(post).heigth > 150) {
        $(post).css({height:  '150px', overflow: 'hidden'});
        $(post).append($('<span class="post-expander">').html('развернуть').click(expandPost));
    }
});
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2012, 09:57
Кандидат Javascript-наук
Отправить личное сообщение для Your Посмотреть профиль Найти все сообщения от Your
 
Регистрация: 03.10.2012
Сообщений: 147

danik.js,
Во бредятина...

Функционал "Читать полностью"

Не нужно создавать одинаковые темы.
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2012, 10:31
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Your
Во бредятина...
Олень что ли?

Решение идентичное приведенным по ссылке. Разве что с парой очепяток и не плодятся обработчики кликов.
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2012, 10:49
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от danik.js
и не плодятся обработчики кликов.
плодятся. правда, без замыкания.

мда, похоже, про делегирование никто не слышал.
Ответить с цитированием
  #6 (permalink)  
Старый 22.10.2012, 11:28
Кандидат Javascript-наук
Отправить личное сообщение для Your Посмотреть профиль Найти все сообщения от Your
 
Регистрация: 03.10.2012
Сообщений: 147

danik.js, у каждого свой велосипед, спору нет, вариантов на решение можно придумать множество.
Тебе бы сдержанности побольше.)

Я с многим соглашаюсь и набираюсь опыта.
Я выражаюсь к тому, что как могу так помогу.)
Когда появляется время практикуюсь.

jquery .click() если не вложен в другое событие, удалив событие .unbind('click'), повторно не запустить.

Так как событие не пере создастся. Ибо у ранее созданного объекта после загрузки страницы тут получается поиск сразу всех контейнеров и создания объектов this.
var повторится, код внутри each повторится столько, сколько надо.

Что вы подразумеваете под словом плодятся?
Ответить с цитированием
  #7 (permalink)  
Старый 22.10.2012, 18:08
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Your
Что вы подразумеваете под словом плодятся?
Сообщение от Your
var повторится, код внутри each повторится столько, сколько надо.
заодно и прицепится обработчик клика к новосозданному элементу (<span>).
Ответить с цитированием
  #8 (permalink)  
Старый 22.10.2012, 19:33
Кандидат Javascript-наук
Отправить личное сообщение для Your Посмотреть профиль Найти все сообщения от Your
 
Регистрация: 03.10.2012
Сообщений: 147

Ааа... Ну это да)
Вообще лишнее... )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отключит функционал ролика мыши dadli Общие вопросы Javascript 5 04.07.2012 16:14
Реализовать функционал Armen Работа 1 25.02.2011 04:12
jGlide menu как подкоректировать функционал? freeentr jQuery 1 13.11.2009 21:26
опубликуйте пожалуйста функционал JS scuter Сайт Javascript.ru 21 05.06.2008 17:44