-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
Magnus |
04-05-2005 18:47 321665 |
Нужна помощь в написании скрипта
Люди а как сделать на сайте, чтоб допустим было два слоя, накоторых было бы написаны фразы, по переменно (допустим через 10 секунд) одна бы плавно исчезала, и плавно появлялась другая, а затем наоборот. Я догадываюсь как, - это наверное какой-то скрипт нужет, чтоб завязать свойства скрыт/видим этих слоев с часами. Но вот блин незадача - со скриптами на ВЫ. Поэтому помогите начинающему в сайтостроении. Заранее благодарен.
|
vadimiron |
04-05-2005 22:38 321734 |
чтобы слой появлялся/исчезал при каких то событиях, сделать несложно, нужно только немного JavaScript
А вот с плавностью уже сложнее, это графический эффект и его достичь можно только с помощью Java Applet-а,
последнее можно здесь поискать и на иных подобных сайтах (только учтите, что у многих отключено загрузка подобных апплетов)
|
vadimiron |
04-05-2005 22:39 321735 |
А ещё можно гиф сделать(он же поддерживает анимацию), правда его изменять сложнее
|
Magnus |
04-05-2005 23:14 321746 |
ладно с этой плавностью, мне бы чтобы просто через интервал времени менялись. Сайт и так грузный, а тут еще и анимация в виде gif -непокатит. А то что по событию мона сделать - я знаю. Сейчас я во FrontPage 2003 делаю - там это проще. А вот чтоб через определенный интервал времени было, увы не могу. Подскажите пожалуйста.
|
vadimiron |
05-05-2005 00:33 321758 |
В джаве скрипт есть функция чтобы исполнять что то раз в какое то время, setTimeout.
То есть пишем простую функцию по скрытию одного и раскрытию другог слоя, и потом пишем setTimeout("функция",время в милисекундах)
|
vadimiron |
05-05-2005 02:02 321785 |
Вот какой у меня получился код:
HTML код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script language="JavaScript">
var DHTML = (document.getElementById || document.all || document.layers);
function getObj(name)
{
if (document.getElementById)
{
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
}
else if (document.all)
{
this.obj = document.all[name];
this.style = document.all[name].style;
}
else if (document.layers)
{
this.obj = document.layers[name];
this.style = document.layers[name];
}
}
function hide(x)
{
x.style.visibility='hidden';
}
function show(x)
{
x.style.visibility='visible';
}
function init(div)
{
if (!DHTML) return;
var x = new getObj(div);
return x;
}
var flag=0;
function rolling(div1,div2)
{
if(!flag)
{
hide(div1);
show(div2);
flag=1;
}
else
{
hide(div2);
show(div1);
flag=0;
}
setTimeout("rolling(div1,div2)",1000);
}
</script>
</head>
<body>
<div id='layer1' style="visibility:visible;position: absolute;top:15;left:15;">LALALALA<br>FIRST DIV</div>
<div id='layer2' style="visibility:hidden;position: absolute;top:15;left:15;">TUTUTUTU<br>SECOND DIV</div>
<script language="JavaScript">
var div1=init('layer1');
var div2=init('layer2');
setTimeout("rolling(div1,div2)",2000);
</script>
</body>
</html>
|
может лучше было бы это во флэше реализовать, или такой вариант тоже не подходит?
|
Magnus |
06-05-2005 10:53 322147 |
Народ, пасибки за помощь! Сегодня буду пробовать. А насчет флеша я дкмал,но тогда сайт уж больно тежелый получается, он и сейчас уже 20 секунд грузится :o а если больше то вообще капут. В общем пасибки еще раз, сегдня буду пробовать - отпишусь как все прошло.
2 vadimiron СУПЕР!!!! Спасибо большое!!! Обращайтесь - чем могу помогу. А как доделаю сйтик- милости просим заценивать. Попозже ссылочку дам.
|
Время: 08:57.
© OSzone.net 2001-