Раскрывающийся блок

Рейтинг: 0Ответов: 1Опубликовано: 26.01.2015

При нажатии на надпись "Показать текст полностью" блок с текстом должен раскрываться, при повторном нажатии закрываться. Я написал скрипт, но он работает один раз. То есть блок раскрывается, я нажимаю повторно, блок закрывается и всё, дальше он перестаёт открывать/закрывать. В чём проблема? http://jsfiddle.net/50gsLtL2/1/

Ответы

▲ 1Принят

У вас скрипт в принципе работает неправильно, вот что происходит в скрипте:

  1. Первый клик: условие сравнения ("" < 160), выдаёт true, поэтому блок раскрывается.
  2. Второй клик: условие сравнения ("160px" < 160), выдаёт false, поэтому блок закрывается.
  3. Третий клик и последующие: условие сравнения ("50px" < 160), выдаёт false, поэтому блок остаётся закрытым.

Чтобы скрипт заработал как надо, нужно немного его дописать:

document.getElementById('text').style.height = "50px"; // Чтобы скрипт видел высоту блока при первом нажатии

if (parseFloat(document.getElementById('text').style.height)<160) // Нужно приводить получаемую высоту к числу, чтобы было правильное сравнение

Пример того, что получается в итоге и работает как надо