[JS] Zatrzymanie skryptu na pewien czas

Odpowiedz Nowy wątek
2008-02-20 19:09

Rejestracja: 13 lat temu

Ostatnio: 4 miesiące temu

Lokalizacja: Chorzów

0

Witam. Jak zatrzymać wykonywanie skryptu na pewien czas w milisekundach? To znaczy. Mam takie coś:

   <style media="all" type="text/css">
   .AjaxNewWindow {
  position:fixed;
  _position:absolute;
  top:0;
  _top:expression(eval(document.body.scrollTop));
  left:0;
  margin:0;
  padding:0;
height:100%; 
width: 100%;
  background-color: #1A1A1A;
  opacity: .5;
    filter: alpha(opacity=50);
 }
   </style>
   <script>
function CancelWindowLayer(okno2) {
document.body.removeChild(document.getElementById(okno2));
} 
   function CreateWindowLayer(okno) {
   var newdiv = document.createElement('div');
   newdiv.setAttribute('id', okno);
    newdiv.className = 'AjaxNewWindow';
       newdiv.innerHTML = "<a href='#' onclick='CancelWindowLayer(\""+okno+"\"); return false;'>Zamknij</a>";
   document.body.appendChild(newdiv);

  for (var i = 0; i < 5; i++) {
  setTimeout("CreateWindowLayer(okno)",1000);
var WindowID = document.getElementById(okno);
   WindowID.style.opacity = i/10;
    WindowID.style.filter = 'alpha(opacity=' + i*10 + ')';
}
}  

</script><a href="#" onclick="CreateWindowLayer('ss'); return false;" >asd</a> 

<script>
for (var i = 0; i < 100; i++) {
    document.write('<br /> bleble')
   }</script>

Chodzi dokładnie o pozycje

  for (var i = 0; i < 5; i++) {
  setTimeout("CreateWindowLayer(okno)",1000);
var WindowID = document.getElementById(okno);
   WindowID.style.opacity = i/10;
    WindowID.style.filter = 'alpha(opacity=' + i*10 + ')';
//chce to zatrzymac na parę ms

}

Jak zatrzymać tą petlę na pare ms?


:)

Pozostało 580 znaków

ŁF
2008-02-20 20:34
ŁF
Moderator

Rejestracja: 17 lat temu

Ostatnio: 23 godziny temu

0

każde kolejne setTimeout wywołaj wewnątrz CreateWindowLayer


Pozostało 580 znaków

2008-02-21 13:06

Rejestracja: 13 lat temu

Ostatnio: 4 miesiące temu

Lokalizacja: Chorzów

0

A jakoś sobie poradziłem. Dzięki.. nie wiem czy o to samo ci chodziło, ale to tak zrozumiałem:

   <style media="all" type="text/css">
   .AjaxNewWindow {
  position:fixed;
  _position:absolute;
  top:0;
  _top:expression(eval(document.body.scrollTop));
  left:0;
  margin:0;
  padding:0;
height:100%; 
width: 100%;
  background-color: #1A1A1A;
  opacity: .1;
    filter: alpha(opacity=10);
 }
   </style>
   <script>

function ChangeLayer(LayerWindow3, value) {
var WindowID = document.getElementById(LayerWindow3);
   WindowID.style.opacity = value/10;
    WindowID.style.filter = 'alpha(opacity=' + value*10 + ')';
} 
   function CreateWindowLayer(LayerWindow) {
   var newdiv = document.createElement('div');
   newdiv.setAttribute('id', LayerWindow);
    newdiv.className = 'AjaxNewWindow';
       newdiv.innerHTML = "<a href='#' onclick='CancelWindowLayer(\""+LayerWindow+"\"); return false;'>Zamknij</a>";
   document.body.appendChild(newdiv);

   for (var i = 0; i < 50; i++) {
    setTimeout("ChangeLayer(\""+LayerWindow+"\", "+(i/10)+")", i*10);  
   } 
}  
function CancelWindowLayer(LayerWindow2) {
   for (var i = 5; i > 0; i--) {
    setTimeout("ChangeLayer(\""+LayerWindow2+"\", "+i+")", (5-i)*100)
   }
        setTimeout("document.body.removeChild(document.getElementById('"+LayerWindow2+"'))", 600)
} 

</script><a href="#" onclick="CreateWindowLayer('ss'); return false;" >asd</a> 

<script>
for (var i = 0; i < 100; i++) {
    document.write('<br /> bleble')
   }</script>

Daje... bo może sie przydać :D


:)

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0