ФорумПрограммированиеJavaScript → Плавно выдвигающийся див

Плавно выдвигающийся див

  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 27 ноября 2008 г. 11:23, спустя 7 минут 18 секунд

    Все правильно человек делает. Приебались со своим жопоквери.

    Frozzeg

    <a href="#" onClick="showMyDiv();">Show my div</a>
    <div id="my-div" style="height: 0; overflow: hidden;">
    text text text text text text text text text text text
    </div>


    А дальше плясать от setInterval();
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 27 ноября 2008 г. 23:08, спустя 11 часов 44 минуты 35 секунд


    Все равно, ради одного дива 30кб? Мне как-то проще функцию в максимум 10 строк написать :)


    Всегда начинается только с "одного дива", а потом понимаешь что написал коду на целый фреймворк.
    Как известно я не фанат писать все с нуля, иногда надо, но сейчас точно нет необходимости. Если только для обучения.
    Не буду холливарить…
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 28 ноября 2008 г. 1:22, спустя 2 часа 13 минут 37 секунд

    ставить фрейворк мне не за чем, т.к. у меня нет своего проекта, да и пишу я ради изучения

    да и чтож, выходит программист, не успользующей фреймворков считается быдлом?
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 28 ноября 2008 г. 1:22, спустя 19 секунд

    sap, спасибо)
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 28 ноября 2008 г. 3:12, спустя 1 час 49 минут 56 секунд

    программист, не успользующей фреймворков считается быдлом?

    не могу не согласиться
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 28 ноября 2008 г. 3:13, спустя 1 минуту 3 секунды

    CTAPbIu_MABP, согласен. исключение - создатели фреймворков. они не быдла)
    Сапожник без сапог
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 28 ноября 2008 г. 3:15, спустя 1 минуту 38 секунд

    var height = 100;
    function slide()
    {
       if (height != 0)
       {
           document.getElementById('some').style.height = height–;
           setTimeout(slide, 10);
       }
    }
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 28 ноября 2008 г. 3:27, спустя 12 минут 24 секунды

    интересно а так работать будет?


    function slide()
    {
    if (height >= 0)
    {
    document.getElementById('some').style.height–;
    setTimeout(slide, 10);
    }
    }
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 28 ноября 2008 г. 3:28, спустя 39 секунд

    нет
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 28 ноября 2008 г. 3:28, спустя 41 секунду

    function slide()
    {
    if (document.getElementById('some').style.height+0 > 0)
    {
    document.getElementById('some').style.height–;
    setTimeout(slide, 10);
    }
    }()


    вот так должно работать)
    Сапожник без сапог
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 28 ноября 2008 г. 3:51, спустя 22 минуты 32 секунды

    var x = 0;
    function slide()
    {
       if (x == 0)
       {
           x = document.getElementById('some').style.height.slice(0, -2);
       }
       if (x > 0)
       {  
           x–;
           document.getElementById('some').style.height = x;
           setTimeout(slide, 10);
       }
    }


    Еще так можно, если неизвестна высота блока.
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 28 ноября 2008 г. 4:00, спустя 8 минут 51 секунду

    document.getElementById('some').style.height+0

    да я профтыкал

    height.slice(0, -2)

    вот это мне ваще не понятно
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 28 ноября 2008 г. 4:02, спустя 2 минуты 30 секунд

    var i = 0;
    function slide(id)
    {
    if (i == 0)
    {
    i = document.getElementById(id).style.height.slice(0, -2);
    }
    if (i > 0)
    {
    document.getElementById(id).style.height = i–;
    setTimeout('slide(\'' + id + '\')', 10);
    }
    }


    Вот доделал.

    вот это мне ваще не понятно


    Удаляет «px» в конце значения высоты блока.
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 28 ноября 2008 г. 4:21, спустя 18 минут 20 секунд

    вот это мне ваще не понятно


    Удаляет «px» в конце значения высоты блока.


    афигеть открыл мануал, аказываеться метод slice есть и у строки
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 28 ноября 2008 г. 4:36, спустя 15 минут 43 секунды

    function slide(id, height, i)
    {
    var element = document.getElementById(id);
    element.style.display = 'block';
    if (i != height)
    {
    i++;
    element.style.height = i;
    setTimeout('slide(\'' + id + '\', \'' + height + '\', \'' + i + '\')', 10);
    }
    }

    function unslide(id, i)
    {
    if (i == 0)
    {
    i = document.getElementById(id).style.height.slice(0, -2);
    }
    if (i != 0)
    {
    i–;
    document.getElementById(id).style.height = i;
    setTimeout('unslide(\'' + id + '\', \'' + i + '\')', 10);
    }
    }


    Полный пакет :)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!