Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.12.2015, 18:36
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

Преобразование из 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 не читает как число.
Ответить с цитированием
  #2 (permalink)  
Старый 21.12.2015, 19:02
Профессор
Отправить личное сообщение для alex.vv Посмотреть профиль Найти все сообщения от alex.vv
 
Регистрация: 15.04.2014
Сообщений: 176

1. Атрибуты тегов принято указывать в двойных кавычках.
То есть надо как минимум
<div id="aaa">Bla bla bla</div>

2. Указанный вами код, вероятно, отработает совсем не так, как ожидается. Вы уверены что скопировали его правильно? (и причем тут короткие php теги?)

3. Для получения числа из строки существуют функции parseInt, parseFloat.
Но в вашем случае извлечение offsetHeight и так дает число, так что вы либо не описали все условия, либо пытаетесь решать какую-то другую проблему.
Ответить с цитированием
  #3 (permalink)  
Старый 21.12.2015, 19:20
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

Объясню.
Есть блок
<div style="
max-heigh:200px;
overflow: hidden;
"></div>
с не определённой высотой height. мне надо что бы если height>200 то выходила ссылка *почитать дальше* и уже выходил весь текст при нажатие на эту ссылку
Ответить с цитированием
  #4 (permalink)  
Старый 21.12.2015, 19:26
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

var h = +document.getElementById('aaa').offsetHeight;
Ответить с цитированием
  #5 (permalink)  
Старый 21.12.2015, 19:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Samsam,
для медитации
если высота блока не превышает например 100px) ссылка свернуть/развернуть не появлялась?
Ответить с цитированием
  #6 (permalink)  
Старый 21.12.2015, 19:31
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

Если можно поподробней
Ответить с цитированием
  #7 (permalink)  
Старый 21.12.2015, 19:36
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Samsam,
вначале отработает php затем ОТРАБОТАЕТ js
перепиши код с озвученными правками
if ($h<200) //здесь $h = "<script>document.write(h);</script>" строке
Ответить с цитированием
  #8 (permalink)  
Старый 21.12.2015, 20:29
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

.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
Ответить с цитированием
  #9 (permalink)  
Старый 21.12.2015, 20:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Samsam,
непонятно о чём вы? потому что нужен отформатированный макет, а не текст
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

возможно вы хотели это
.css({'max-height' : (h < max ? max : min)+'px'})
Ответить с цитированием
  #10 (permalink)  
Старый 21.12.2015, 20:45
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

<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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цыкл с массива juramaj Общие вопросы Javascript 2 25.01.2015 14:55
Преобразование в int sloyi Элементы интерфейса 46 25.10.2014 15:04
Processing to Java. Не работает в Опере, Мозиле, Хроме, Експлорере Шляпник Javascript под браузер 0 30.07.2012 21:09
Из int в string z700i Общие вопросы Javascript 2 11.09.2011 14:19
Смена картинки по нажатию на чебокс arahmanov Общие вопросы Javascript 50 02.02.2011 16:34