Для переключения высоты DIV я использую этот код, который работает очень хорошо:Чтения существующей высота DIV предотвращает код от работы
$(document).ready(function() {
var trg = $("#hauptTextInhaltReduziert"), // The target container
preHeight = 420;
trg.css("height", preHeight); // Set the initial height on page load
$(".aufklappen").on("click", function() {
var curHeight = trg.height();
if (preHeight == curHeight) {
var xHeight = "auto";
$(this).text("-");
} else {
var xHeight = preHeight;
$(this).text("+");
}
var trgHeight = trg.css("height", xHeight).height();
trg.height(curHeight).stop().animate({
height: trgHeight
}, 600, function() {
trg.css("height", xHeight);
});
});
});
Потому что это должно прийти только работать в мобильных версиях сайта , где начальная высота DIV установлен на 420px, я изменил строку # 3 это:
preHeight = $("#hauptTextInhaltReduziert").css("height"); // The initial height
Но теперь, код не работает больше.
Итак, что не так с этой линией?
Благодарим за помощь.
Я думаю, проблема в том, что вы используете $ (this) в контексте без элемента. Для jQuery нет $ (этого) для получения высоты. Установите его на существующий элемент. – wrxsti
'this' относится к документу. Следовательно, вы получаете ошибку –
Спасибо вам wrxsti. Я только что узнал и отредактировал свой пост (см. Код выше), пока вы отвечали на него. Простите за это. Теперь ошибок больше нет. НО код все еще не работает. –