Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Нужна помощь в написании скрипта (http://forum.oszone.net/showthread.php?t=48939)

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>


m2001 05-05-2005 10:20 321840

может лучше было бы это во флэше реализовать, или такой вариант тоже не подходит?

Magnus 06-05-2005 10:53 322147

Народ, пасибки за помощь! Сегодня буду пробовать. А насчет флеша я дкмал,но тогда сайт уж больно тежелый получается, он и сейчас уже 20 секунд грузится :o а если больше то вообще капут. В общем пасибки еще раз, сегдня буду пробовать - отпишусь как все прошло.

2 vadimiron СУПЕР!!!! Спасибо большое!!! Обращайтесь - чем могу помогу. А как доделаю сйтик- милости просим заценивать. Попозже ссылочку дам.


Время: 08:57.

Время: 08:57.
© OSzone.net 2001-