Преобразование из string v int
<div id=aaa>Bla bla bla</div>
<script> var h = document.getElementById('aaa').offsetHeight;</script>"; $h = "<script>document.write(h);</script>"; <? if ($h<200) { echo "<ul><b>... ПОЧИТАТЬ ПОЛНОСТЬЮ</b></ul>";} ?> переменную $h не читает как число. |
1. Атрибуты тегов принято указывать в двойных кавычках.
То есть надо как минимум <div id="aaa">Bla bla bla</div> 2. Указанный вами код, вероятно, отработает совсем не так, как ожидается. Вы уверены что скопировали его правильно? (и причем тут короткие php теги?) 3. Для получения числа из строки существуют функции parseInt, parseFloat. Но в вашем случае извлечение offsetHeight и так дает число, так что вы либо не описали все условия, либо пытаетесь решать какую-то другую проблему. |
Объясню.
Есть блок <div style=" max-heigh:200px; overflow: hidden; "></div> с не определённой высотой height. мне надо что бы если height>200 то выходила ссылка *почитать дальше* и уже выходил весь текст при нажатие на эту ссылку |
var h = +document.getElementById('aaa').offsetHeight; |
Samsam,
для медитации если высота блока не превышает например 100px) ссылка свернуть/развернуть не появлялась? |
Если можно поподробней
|
Samsam,
вначале отработает php затем ОТРАБОТАЕТ js перепиши код с озвученными правками if ($h<200) //здесь $h = "<script>document.write(h);</script>" строке |
.ta{
height:300px; } <script> jQuery(function($) { var min = 300; $(".ta").each(function(indx, el) { var b = $(el), max = el.scrollHeight, a = b.next(".read-next"); if (max <= 300) a.hide(); else a.on("click", function(event) { var h = b.height(); b.height(h < max ? max : min); $(this).text(h < max ? "" : ""); return false }) }) }); </script> спосибо за подсказку.. а вот как вместо height сдлелать max-height вместо .ta{ height:300px; } .ta{ max-height:300px; } .. что нужно изменить в js |
Samsam,
непонятно о чём вы? потому что нужен отформатированный макет, а не текст Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. возможно вы хотели это .css({'max-height' : (h < max ? max : min)+'px'}) |
<style type="text/css"> .ta{ height:100px; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"> </script> jQuery(function($) { var min = 100; $(".ta").each(function(indx, el) { var b = $(el), max = el.scrollHeight, a = b.next(".read-next"); if (max <= 100) a.hide(); else a.on("click", function(event) { var h = b.height(); b.height(h < max ? max : min); $(this).text(h < max ? "Svernut" : "OPen all"); return false }) }) }); <div style="height:100%"> <div class="ta" style="overflow:hidden"> text<br>text<br>text<br>texttexttexttext<br>text<br>text<br>texttexttext<br>text<br>text<br>texttext<br>text<br>text<br> </div><a class="read-next" href="#">Open</a> </div> |
Вместо .ta{ height:100px; } мне надо max-height. что надо изменить в js
|
.css({'max-height' : (h < max ? max : min)+'px'})
как и где это написать в js ? |
Samsam,
непонимаю вас. |
Samsam,
<style type="text/css"> .ta{ max-height:100px; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <meta charset="utf-8"> <script> jQuery(function($) { var min = 100; $(".ta").each(function(indx, el) { var b = $(el), max = el.scrollHeight, a = b.next(".read-next"); if (max <= 100) a.hide(); else a.on("click", function(event) { var h = b.height(); b.css({'max-height' : (h < max ? max : min)+'px'}); $(this).text(h < max ? "Svernut" : "OPen all"); return false }) }) }); </script> <div style="height:100%"> <div class="ta" style="overflow:hidden"> text<br>text<br>text<br>texttexttexttext<br>text<br>text<br>texttexttext<br>text<br>text<br>texttext<br>text<br>text<br> </div><a class="read-next" href="#">OPen all</a> </div> |
Спасибо !! Именно то что я хотел !
|
Рони, ещё раз извиняюсь. Этот код работает, но как его задействовать в нескольких блоках
например <div class=ta>где Height = 90</div> <div class=ta>где Height = 120</div> <div class=ta>где Height = 233</div> <div class=ta>где Height = 50</div> как сделать что бы Open All выходила имена в том блоке где height>100px и при нажатие на ней этот блок раскрывался полностью. Спасибо |
Samsam,
а разве код выше этого не делает? |
Часовой пояс GMT +3, время: 07:19. |