Zurück   Flashforum > Alternative Technologien > JavaScript & jQuery

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-04-2010, 23:14   #1 (permalink)
Neuer User
 
Benutzerbild von kenzo228
 
Registriert seit: Jun 2006
Ort: Berlin
Beiträge: 16
Question Problem mit array

hallo,
ich habe eine frage zu einem array. und zwar folgender sachverhalt: ich möchte einen div-container beim laden der seite kurz mehrfach ein- und wieder ausblenden - das ganze erzeugt also ein kurzes flackern des div-containers bis dieser dann ganz ausgeblendet wird. soweit so gut - habe dazu auch ein kleines script (gefunden):

PHP-Code:

var sekunden = new Array('80','2000','80','1000','80','750','80','500','80','250');    //Sekunden der anzeigen nacheinander - beliebig verlängerbar
var tmp=0;
var 
itmp=0

window.setTimeout("Wechsel()"sekunden[tmp]);
function 
Wechsel () {
tmp++;

if(
tmp>=sekunden.length)
{
tmp=0;
}

if(
itmp==0)
{
document.getElementById('dynDiv').style.visibility 'visible';
itmp=1;
}
else {
document.getElementById('dynDiv').style.visibility 'hidden';
itmp=0;
}
setTimeout("Wechsel()"sekunden[tmp]);


bei dem skript ist es aber so, dass das array mit den eingetragenen zeitwerten immer wieder von neuem abgefragt wird und dementsprechend durchläuft. (der div-container flackert also endlos). ich möchte aber, dass die im array eingetragenen zeitwerte nur einmal durchlaufen, sodass der besagte div-container nur für eine kurze zeit flackert und dann komplett ausgeblendet wird. würde mich über einen kurzen lösungsansatz sehr freuen. leider habe ich von javascript eher wenig ahnung........

besten dank für antoworten.
__________________
I have to get better...
kenzo228 ist offline   Mit Zitat antworten
Alt 03-04-2010, 23:49   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
take

setTimeout("Wechsel()", sekunden[tmp]);

replace with

if( tmp <= sekunden.length ){
setTimeout("Wechsel()", sekunden[tmp]);
}
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 04-04-2010, 00:06   #3 (permalink)
Neuer User
 
Benutzerbild von kenzo228
 
Registriert seit: Jun 2006
Ort: Berlin
Beiträge: 16
hi nightflyer - besten dank für die schnelle antwort. irgendwie willes aber nicht, muss ich evtl. noch etwas verändern :

PHP-Code:

var sekunden = new Array('80','200','80','100','80','750','80','500','80','250');    //Sekunden der anzeigen nacheinander - beliebig verlängerbar
var tmp=0// setzt einfach nur 1 oder 0 für an und aus

window.setTimeout("Wechsel()"sekunden[tmp]);
function 
Wechsel () {
tmp++;

if(
tmp>=sekunden.length)
{
tmp=0;
}

if(
itmp==0)
{
document.getElementById('navi_left_ani').style.visibility 'visible';
document.getElementById('navi_right_ani').style.visibility 'visible';
itmp=1;
}
else {
document.getElementById('navi_left_ani').style.visibility 'hidden';
document.getElementById('navi_right_ani').style.visibility 'hidden';
itmp=0;
}

if( 
tmp <= sekunden.length ){
setTimeout("Wechsel()"sekunden[tmp]);

__________________
I have to get better...
kenzo228 ist offline   Mit Zitat antworten
Alt 04-04-2010, 11:23   #4 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Poste doch mal deinen gesamten Code samt HTML, sehe den Sinn dahinter noch nicht so ganz. Und rücke den Code richtig ein.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 04-04-2010, 14:21   #5 (permalink)
Neuer User
 
Benutzerbild von kenzo228
 
Registriert seit: Jun 2006
Ort: Berlin
Beiträge: 16
hi nightflyer - hier mal der code im html:

PHP-Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>TEST</title>
<
style type="text/css">
<!--
#navi_left_ani {
    
background-color#00CC66;
    
floatleft;
    
height300px;
    
width70px;
    
left0px;
    
top70px;
    
positionabsolute;
}
    
#navi_right_ani {
    
background-color#FFBB22;
    
floatright;
    
height300px;
    
width70px;
    
right0px;
    
top70px;
    
positionabsolute;    
}

-->
</
style>

<
script type="text/javascript" src="flackern.js"></script>
</head>
<body>

<div id="navi_left_ani">go left</div>
<div id="navi_right_ani">go right</div>

</body>
</html> 

und nochmal das aktuelle js-file:

PHP-Code:

var sekunden = new Array('1000','1500','100','100','100','100','100','100','700000');    //Sekunden der anzeigen nacheinander - beliebig verlängerbar
var tmp=0;
var 
itmp=0

window.setTimeout("Wechsel()"sekunden[tmp]);
function 
Wechsel () {
    
tmp++;

    if(
tmp>=sekunden.length) {
        
tmp=0;
        }

    if(
itmp==0) {
        
document.getElementById('navi_left_ani').style.visibility 'visible';
        
document.getElementById('navi_right_ani').style.visibility 'visible';
        
itmp=1;
        }
        
    else {
        
document.getElementById('navi_left_ani').style.visibility 'hidden';
        
document.getElementById('navi_right_ani').style.visibility 'hidden';
        
itmp=0;
        }

    
setTimeout("Wechsel()"sekunden[tmp]);


das ist natürlich nur ein auszug des gesamt html der site - der sich auf die flackernden divs bezieht.
der hintergrund ist der, dass ich eine horizontal scrollende site habe, wo links und rechts am bildrand je ein unsichtbares div liegt, welches bei mouseover sichtbar wird und die gesamte site in die jeweilige richtung scrollen lässt (also eine bequeme navi zum horizontalen scrollen).
um dem user anfangs zu zeigen, dass diese (nur bei mouseover sichtbare) navi vorhanden ist, sollen beim laden der site 2 divs links und rechts kurz aufflackern - deshalb obiges script.

dabei sollen die divs aber nicht endlos flackern, sondern das obige array mit den sekundenangaben soll nur einmal durchlaufen. habe es erstmal so gelöst, dass ich den letzten zeitwert sehr hoch gesetzt habe - also auf fast 1 woche - sodass die 2 - die navi erklärenden divs sehr lange ausgeblendet bleiben.
freue mich aber gern auf bessere lösungen.

besten dank!
__________________
I have to get better...
kenzo228 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Array.NUMERIC und Array.RETURNINDEXEDARRAY Vlad Dracul ActionScript 2 4 20-07-2008 18:42
array.push & array.splice problem! pacman.hgw Flash Einsteiger 6 13-12-2007 12:38
Problem mit Array mouzZ ActionScript 1 3 09-11-2005 20:03
Problem mit Array marcodeneu ActionScript 1 4 19-07-2003 13:47
array problem!!! merlin0815 ActionScript 1 7 03-03-2002 23:55


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele