Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Brauche Unterstützung bei Javascript

Mitglied: 75032

75032 (Level 1)

23.02.2011, aktualisiert 17:20 Uhr, 3743 Aufrufe, 8 Kommentare

Hi,

ich wollte eine Javascript Funktion schreiben wo wenn ich auf einen Button klicke sich a in b verändert und wenn ich nochmal klicke wieder b in a. Könnt ihr mir eventuell sagen was ich da falsch gemacht habe...

01.
<script type="text/javascript"> 
02.
function show_1(){ 
03.
var v_id_1 = 0; 
04.
if(v_id_1 = 0){ 
05.
document.getElementById('1').style.visibility='visible'; 
06.
document.getElementById('id_1').innerHTML = '<-'; 
07.
v_id_1 = 1; 
08.
09.
if(v_id_1 = 1){ 
10.
document.getElementById('1').style.visibility='hidden'; 
11.
document.getElementById('id_1').innerHTML = '->'; 
12.
v_id_1 = 0; 
13.
14.
15.
</script>
Danke schonmal im Vorraus
Gruß
Mitglied: dog
23.02.2011 um 18:47 Uhr
function show_1(){

Funktion wird betreten.

var v_id_1 = 0;

Variable wird auf 0 gesetzt

if(v_id_1 = 0){

Variable wird erneut auf 0 gesetzt, 0 wird zu false ausgewertet, IF fällt weg.

if(v_id_1 = 1){

Variable wird auf 1 gesetzt, 1 wird zu TRUE ausgewertet, IF wird ausgeführt

v_id_1 = 0;

Variable wird auf 0 gesetzt.

}

Funktion wird beendet.

Bei jedem Aufruf der Funktion wiederholt sich obiges.
Bitte warten ..
Mitglied: Arano
23.02.2011 um 18:52 Uhr
Hallo Schelli,

da sind zwei Dinge:
1. Eine ID muss mit einem Buchstaben __beginnen__: Basic HTML data types (w3.org)
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
2. Ist deine Javascript-Funktion falsch (logischer Fehler)
Lass uns mal davon ausgehen, dass das Element nicht sichtbar (hidden / 0) ist und die Funktion aufgerufen wird.
1. Setze v_id_1 auf 0
2. Erste Bedingung: v_id_1 ist gleich 0 also
3. mach das Element sichtbar (visibel / 1) und
4. setze auch v_id_1 auf 1
5. Zweite Bedingung: v_id_1 ist gleich 1 also (wurde ja gerade von 0 auf 1 geändert, siehe Punkt 4)
6. mach das Element unsichtbar (hidden / 0) und
7. setze auch v_id_1 auf 0
ENDE

Beim nächstem Aufruf passiert __exakt__ das gleiche ! weil der Funktionsaufruf die Variabel v_id_1 als erstes IMMER auf 0 setzt !
Falls das dein Ziel war hast du es erreicht

Du __müsstest__ die Variable also außerhalb der Funktion definieren damit sich nicht immer beim Funktionsaufruf "zurückgesetzt" wird.
Und deine Bedingungen solltest du in ein
01.
if(v_id_1 == 0) 
02.
03.
    // wenn v_id_1 == 0 
04.
    // mach es sichtbar  
05.
06.
else 
07.
08.
    // andernfalls 
09.
    // mach es unsichtbar 
10.
}
verpacken, dann wird entweder der erste ODER der zweite Block ausgeführt.


Und nun noch ein Tipp:
"document.getElementById('block_1').style.visibility" kannst du auch als Bedingung verwenden:
01.
if( document.getElementById('block_1').style.visibility != "visible" ){ // machs sichtbar} 
02.
else{ //machs unsichtbar }

Alle Angaben ohne Gewähr und Funktionstests

Schönen Gruß
~Arano


Edit: Den ollen Zuweisungs-Vergleichs-Fehler habe ich glatt übersehen
Bitte warten ..
Mitglied: 75032
23.02.2011 um 19:12 Uhr
"document.getElementById('block_1').style.visibility" kannst du auch als Bedingung verwenden:
01.
if( document.getElementById('block_1').style.visibility != "visible" ){ // machs sichtbar} 
02.
> else{ //machs unsichtbar }

Hi,
genau das hat geholfen!

Vielen Dank für eure Antworten
Bitte warten ..
Mitglied: dog
23.02.2011 um 19:15 Uhr
Schau dir trotzdem an, was ich geschrieben habe und vorallem: verstehe es.
Sonst machst du immer wieder die selben Fehler.
Bitte warten ..
Mitglied: 75032
23.02.2011 um 19:26 Uhr
Klar hab ich verstanden und das mit den 2 "==" im if hab ich irgendwie verplant...
Bitte warten ..
Mitglied: EvilMoe
23.02.2011 um 19:38 Uhr
Mit Jquery lassen sich solche abfragen ziemlich vereinfachen. Desweiteren bietet es auch eine Menge an Funktionen ohne viel selber programmieren zu müssen.
http://jquery.com/


Meine Vorredner haben den Rest schon gesagt und kann mich nur anschließen.
Bitte warten ..
Mitglied: 75032
23.02.2011 um 21:05 Uhr
Mit Jquery habe ich mich noch nicht befasst und eigentlich programmiere das lieber selber dann weis ich wies funktioniert

Gruß
Bitte warten ..
Mitglied: EvilMoe
23.02.2011 um 21:09 Uhr
Die Funktion bleibt meistens gleich. Man spart sich aber eine menge schreiberei.
z.B. aus "document.getElementById('block_1')"
wird "$(#block_1)".

Ist auch nur ein kleiner Hinweis.
Bitte warten ..
Ähnliche Inhalte
Backup

Private Backup-Strategie, brauche eure Unterstützung

Frage von gnjkl7Backup1 Kommentar

HiHo, ich versuche nun privat eine Backup-Strategie aufzubauen, bzw. endlich in Angriff zu nehmen :-) Backups meiner Daten aus ...

Weiterbildung

Unterstützung bei Gehaltsverhandlungen

gelöst Frage von 133566Weiterbildung24 Kommentare

Hallo liebe Community Ich verfolge eure Seite bereits seit 2007 als ich meine Ausbildung zum Anwendungsentwickler begonnen habe. Einige ...

JavaScript

Javascript Funktionen

gelöst Frage von agowa338JavaScript5 Kommentare

Hallo, habe gerade mehrere schönen Javascripte per mail bekommen und frage mich gerade, was eigentlich folgendes in einem Javascript ...

JavaScript

JavaScript Map

Frage von tobmesJavaScript7 Kommentare

Hi, ich bins mal wider :). Ich spiele immernoch mit JavaScript herum und hänge jetzt mal wieder. Ich habe ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing18 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware10 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...