Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать, чтобы span или div исчезали и появлялись плавно? (https://javascript.ru/forum/misc/13330-kak-sdelat-chtoby-span-ili-div-ischezali-i-poyavlyalis-plavno.html)

dmitriymar 26.11.2010 23:39

или вместо пикселов в % задавайсразу бы написал что нужно изменение размеров а не изменение видимости. да и сразу ты задал тон на видимость

Бобр 27.11.2010 00:18

Цитата:

Сообщение от dmitriymar
ну и что сложного?)))

parObjp=document.getElementById(id diva);
parObjp.style.position="absolute";
for (x=100;x>0;x--){
for (y=100;y>0;y--){

parObjp.style.height=y+"px";
parObjp.style.width=x+"px";
}
}

parObjp.style.position="absolute"; - срабатывает, а parObjp.style.height=y+"px"; - нет.

Бобр 27.11.2010 00:30

И потом как узнать начальное значение parObjp.style.height ?

И как сделать, чтобы не мгновенно исчезало, а с задержкой?

dmitriymar 27.11.2010 09:01

толи лыжи толи я.......а размеры контейнера изначально не заданны?узнать по тому же принципу var y=parObjp.style.height;
мож стоит хоть чуть основы языка подучить? а не копирывать чьито примеры и чуть изменять? ну а код рабочий-им я у себя на сайте изменяю размеры контейнера.задержка-ну сделай через таймер ,ну введи пустые циклы,ну измени приращивание в цикле

exec 27.11.2010 11:51

parObjp=document.getElementById(id diva);
parObjp.style.position="absolute";
for (x=100;x>0;x--){
for (y=100;y>0;y--){

parObjp.style.height=y+"px";
parObjp.style.width=x+"px";
}
}


Изменения наступят сразу. Кроме того, значение height будет скакать от ста до нуля 100 раз подряд. В-общем, бред какой-то.

dmitriymar 27.11.2010 16:50

положил варианты изменения по х и y.если человек не понимает как вложенные циклы работают-то может человеку стоит начать с основ програмирования. замедлить ну дак 3 варианта класики-вложенный пустой цикл. приращивание не 1 а доли 1(будет зависить от мощьности компа слиента скорость) или через таймер это организовать( ни от чего не зависит) код рабочий в смысле что модель parObjp.style.height=y+"px"; parObjp.style.width=x+"px"; рабочая . а код за него писать я не и не собирался.или мне за него ещё и думать?

exec 27.11.2010 19:07

Ну написал бред — ничего страшного, зачем так расстраиваться.

dmitriymar 27.11.2010 20:26

подколол)))чего эт бред написал? ну вложил циклы друг в друга а не разнёс-сам будтобы иногда не тупиш. а в чём остальном бред ?))) сам то с какого раза просёк что я циклы вложил друг в друга?))

monolithed 28.11.2010 00:10

Цитата:

Сообщение от dmitriymar
подколол)))чего эт бред написал? ну вложил циклы друг в друга а не разнёс-сам будтобы иногда не тупиш. а в чём остальном бред ?))) сам то с какого раза просёк что я циклы вложил друг в друга?))

Как пример на скорую руку:
<script type="text/javascript">
window.onload = function(){
    var elem = document.getElementsByTagName('div')[0], i = 0, j = 0, s = 100;   
    document.getElementsByTagName('a')[0].onclick = function(){
        if(++i<=s){
            elem.style.height = i +'px';
            j = i;
            if(j>=s) {
                return false;
            }
        }
        else {
            elem.style.height = --j +'px';
            if(j<=0){
                i = 0;
                return false;
            }
        }
        window.setTimeout(arguments.callee, 10);
        return false;
    };
};
</script>

<a href="#">click<a/>
<div style="background: #0095FF; overflow: hidden; width: 200px; height: 0px; ">Text</div>

Бобр 28.11.2010 04:16

Цитата:

Сообщение от monolithed
if(++i<=100){

Почему 100? Как узнать настоящий размер произвольного блока?


Часовой пояс GMT +3, время: 16:15.