|
|
|
| Как подправить, данную функцию, так чтобы текст отображался не мгновенно, а чуть замедленно
<script>
function look(type){
param=document.getElementById(type);
if(param.style.display == "none"){
param.style.display = "block";
}
else{
param.style.display = "none"
}
}
</script>
<span onmouseover="look('div1');" onmouseout="look('div1');">Увидить текст</span>
<ul id="div1" style="display:none;">
<li>Скрытый текст</li>
</ul>
|
| |
|
|
|
|
|
|
|
для: trix
(19.11.2009 в 15:10)
| | Дать команду: "чуть-чуть block, еще чуть-чуть" :)
Шутка, но вам нужно либо делать fader эффект (появление/затухание), либо изменять размер блока от нулевого до конечного, и все это по таймеру. А вот меееедленно первести из "none" в "block" нельзя. | |
|
|
|
|
|
|
|
для: sim5
(19.11.2009 в 15:17)
| | Т.е. нужено вообще по другому код писать? Может подскажете как сделать? | |
|
|
|
|
|
|
|
для: trix
(19.11.2009 в 15:23)
| | То что у вас сейчас это простое изменение одного значения другим
То есть блок скрыт/показан
что бы сделать его плавное появление нужно не просто подправить ваш код, а написать сложную функцию. То есть создать анимацию.
Вот к примеру алгоритм плавного появления блока:
1) блок скрыт (display:none;) + его прозрачность ровна 0
2) блок появляется на странице + его прозрачность ровна 0
3) каждые 100мс прибавляем к прозрачности 0.1 пока она не станет равной 1
самому это все написать достаточно сложно, из за кросбраузерности
Советую использовать библиотеку jQuery
Там вы это сможете сделать одной строчкой:
| |
|
|
|
|
|
|
|
для: jangot
(19.11.2009 в 15:50)
| | Прозрачность, это мне кажется не совсем то! Это он будет матерелизоваться на страничке, а надо чтобы он медленно открывался, т.е. при нажатии на ссылку, блок расширялся вниз!
Спасибо за совет с библиотекой, сейчас поищу. | |
|
|
|
|
|
|
|
для: trix
(19.11.2009 в 15:54)
| | Разворачивание работает также, только вместо свойства прозрачность придется менять высоту | |
|
|
|
|
|
|
|
для: trix
(19.11.2009 в 15:54)
| | Ну в query не только прозрачность, в ней много эффектов. Для вас как раз подойдет эффект toggle, он и раскрывает и закрывает с указанной скоростью. | |
|
|
|
|
|
|
|
для: sim5
(19.11.2009 в 16:04)
| | Вот попробовал сам код соорудить, но что-то не так отказывается работать, в теории рекурсия должна функции вызывать, пока четчик не достиг 200, а по факту вызывается только 1 раз :( Что тут не так понять не могу!
<script>
var T;
var counter=0;
function look(type){
var param=document.getElementById(type);
if(counter < 200)
{
param.style.display = "block";
param.style.border = "solid 1px";
param.style.height = counter++;
T = setTimeout(look(param),10);
}
else{ clearTimeout (T); counter=0;}
}
</script>
<span onmouseover="look('div1');">Увидить текст</span>
<div id="div1" style="display:none;">
Скрытый текст
</div>
|
| |
|
|
|
|
|
|
|
для: trix
(19.11.2009 в 17:36)
| |
<script>
var T;
var counter=0;
function look(type){
var param=document.getElementById(type);
if(counter == 200) {
clearTimeout (T); counter=0;
} else {
param.style.display = "block";
param.style.border = "solid 1px";
param.style.height = counter++;
T = setTimeout("look('"+type+"')",10);
}
}
</script>
|
Имя вызываемой функции в таймере нужно заключать в кавычки, а id элемента, это тоже строка, значит и ее. Вам ведь браузер выдает ошибку на это, что же вы не смотрите.
РS. Только у вас не текст будет медленно открываться в данном случае, он сразу появится, а рамка с бордюром. Но для примера сойдет. | |
|
|
|
|
|
|
|
для: sim5
(19.11.2009 в 18:03)
| | что выезжало вместе с текстом надо в стиле задать атрибут overflow:hidden; и всё нормально будет | |
|
|
|
|
|
|
|
для: flaers
(19.11.2009 в 22:14)
| | Естественно, только нужно воспользоваться CSS, чтобы все аккуратнее было. | |
|
|
|
|
|
|
|
для: sim5
(19.11.2009 в 18:03)
| | случайно 2 раза отправил | |
|
|
|
|
|
|
|
для: trix
(19.11.2009 в 17:36)
| | броузер какой? | |
|
|
|
|
|
|
|
для: GeorgeIV
(19.11.2009 в 18:20)
| | Ага, спасибо вроде уже похоже на что-то :) | |
|
|
|
|
|
|
|
для: trix
(19.11.2009 в 15:23)
| | -- | |
|
|
|