Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Как сделать надпись внизу спойлера?

Как сделать надпись внизу спойлера?


     23.12.2014    Все вопросы » jQuery    2545

вопрос
Здравствуйте. Ищу решение как сделать надпись "закрыть" внизу содержимого спойлера в dle, при нажатии на которую, спойлер естественно закроется.
Раньше где то встречал но уже не вспомню, искал, не нашел..

Ответа пока нет


12 комментариев

FastFud
Юзер

FastFud - 23 декабря 2014 19:50 -

Я предлагаю так: открыть /engine/classes/js/dle_js.js и найти функцию
function ShowOrHide(a) {
в этой функции после
var c = $("#" + a);
добавить
if ( $('.text_spoiler').height > 100 && $('.text_spoiler').is(':visible') ) {
    $('.title_spoiler').clone().appendTo('.text_spoiler');
} else {
    $('.text_spoiler').find('.title_spoiler').remove();
}
Исходя из теории, должно работать )

Djinn
Юзер

Djinn - 23 декабря 2014 20:31 -

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

FastFud
Юзер

FastFud - 23 декабря 2014 20:49 -

Добавьте большой текст и пролистайте в самый низ.

Djinn
Юзер

Djinn - 23 декабря 2014 21:06 -

Сделал, ничего, все так же..

FastFud
Юзер

FastFud - 23 декабря 2014 21:16 -

if ( $('.text_spoiler').height() > 20 || $('.text_spoiler').is(':visible') ) {
    $('.title_spoiler').clone().appendTo('.text_spoiler');
} else {
    $('.text_spoiler').find('.title_spoiler').remove();
}
20 = 20px - высота блока (text_spoiler)

Djinn
Юзер

Djinn - 23 декабря 2014 21:23 -


Код из последнего вашего комментария.
Несколько раз нажал открыть и закрыть, в итоге вот:

FastFud
Юзер

FastFud - 23 декабря 2014 21:34 -

А если так
if ( $('.text_spoiler').height() > 20 ) {
    $('.text_spoiler').after($('.title_spoiler'));
}

Djinn
Юзер

Djinn - 23 декабря 2014 21:45 -

Вот так все в порядке, но один минус, надпись "Показать / Скрыть текст", после нажатия остается только внизу..

Минутку, не все в порядке...
Если в новости три спойлера к примеру, то они все дублируются после каждого нажатия, не важно на какой спойлер..

FastFud
Юзер

FastFud - 23 декабря 2014 21:51 -

if ( $(a).height() > 20 ) {
    $(a).after($(a).find('.title_spoiler'));
}

Djinn
Юзер

Djinn - 23 декабря 2014 22:01 -

Так опять ничего не работает..

FastFud
Юзер

FastFud - 23 декабря 2014 22:38 -

if ( $('.text_spoiler').height() > 20 ) {
    $(c).after($(c).prev($('.title_spoiler')));
}

Djinn
Юзер

Djinn - 24 декабря 2014 21:39 -

Спасибо, но такой вариант тоже не работает.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх