Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по вёрстке Вопрос по js, как показать и скрыть текстовую область?

Вопрос по js, как показать и скрыть текстовую область?


     19.07.2015    Общие вопросы по вёрстке, jQuery    893

вопрос
Здравствуйте. На сайте есть вывод материала одним только тегом {message}, в этом тексте обычно слишком много текста.

Никак не могу найти скрипт, который будет скрывать область и увеличивать её до полного размера при клике. Вот например:

Вопрос по js, как показать и скрыть текстовую область?

Вопрос по js, как показать и скрыть текстовую область?


Важно что текст, к которому нужен скрипт, я не могу разделить на 2 части т.к. он выводится одним тегом.

Ответил: werty1001


<div class="text">Много букв ...</div>

.text {
    max-height: 120px;
    position: relative;
    overflow:hidden;
    padding-bottom: 50px;    
}
.text:after {
    content:'';
    position: absolute;    
    bottom:0;
    left:0;
    right:0;
    height: 50px;
    z-index:3;
    pointer-events:none;
    border-bottom: solid 50px #fff;
    background-image: -webkit-linear-gradient(top,rgba(255,255,255,0),#fff);
    background-image: linear-gradient(to bottom,rgba(255,255,255,0),#fff);
}
.text .toggle {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index:5;
    display:block;
    height: 40px;
    line-height: 38px;
    border: solid 1px #eee;
    border-radius: 3px;
    text-align: center;
    color: #999;
    font-size: 13px;
    cursor:pointer;
}
.text .toggle:before {
    content: 'Посмотреть полную информацию';
}
.text.active {
    max-height: 1000em;
}
.text.active:after {
    background: none;
}
.text.active .toggle:before {
    content: 'Свернуть';
}

(function () {

    var el,toggle,parent;
    
    el = document.querySelectorAll('.text');

    for (var i=el.length; i--;) {

        parent = el[i];
        toggle = parent.appendChild(document.createElement('a'));
        toggle.className = 'toggle';

        toggle.addEventListener("click", function() { parent.classList.toggle('active'); });

    }

})();

Живой пример тык Работает во всех норм браузерах и ie 10
Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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