• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Anpassung der Navigation im Jimdo-Head Design Rome

Das mit den undefined hat ich bei codepen auch. Das kommt wenn man zweimal den gleichen Button klickt.
deswegen habe ich bei codepen den buttons auf disabled gestellt .
Währe ja blödsinn eine deutsche Schrift nochmal ins deutsche zu übersetzen.
Bei den Code sucht ja abwechselnd in dein einen array und gibt das andere aus.
Wenn die seite aber schon deutsch ist und noch mal Deutsch anklicken tust, dann sucht er in englischen array nach den deutschen Wort.
Deshalb das undefined.
Wenn dann sperrt man die Buttons wie bei Codepen, oder ich überlege nochmal wie man das anders machen kann.

Zu dein ersten Problem.
Ja das ist halt so.
Man muss das halt wie bei deinen anderen Kram im localstorage speichern damit er sich die auswahl merkt.Das macht er bis jetzt nur bei deinen anderen Js.

Aber wenn das soweit geht dann ist ja gut, ich überlege mir gleich mal was , falls kein anderer schneller ist
 
Werbung:
Jo.
Dann mach mal dein Script da raus und teste das mal
Javascript:
<script>

document.addEventListener("DOMContentLoaded", function(event) {
    var array_ger=['Home','Produkte','Stapelheber','Stapelwender','Sondermaschinenbau','Leistungen','Kontakt'];
    var array_eng=['Home','Products','Stack lifter','Pile turner','Special mechanical engineering','Services','Contact'];
    var someVarName = localStorage.getItem("pageLanguage");
 
    var de_lang=document.getElementById('langDe');
    var en_lang=document.getElementById('langEn');

    if (someVarName == "Engl"){
         de_lang.style.color = '#808080';
         en_lang.style.color = '#00b14d';
         en_languages('block');
         de_languages('none');
         tauschen(2);
   }
   de_lang.addEventListener('click',function(){
         tauschen(1);
         de_languages('block');
         en_languages('none');      
     
         de_lang.style.color = '#00b14d';
         en_lang.style.color = '#808080';
         localStorage.setItem("pageLanguage","Deut");
    });
    en_lang.addEventListener('click',function(){
         tauschen(2);
         de_languages('none');
         en_languages('block');
         de_lang.style.color = '#808080';
         en_lang.style.color = '#00b14d';
         localStorage.setItem("pageLanguage", "Engl");
    });

    function de_languages(none_block){
        var de_text=document.querySelectorAll('.textDe');
        de_text.forEach(function(ele_de){
            ele_de.style.display=none_block;
        })
    }

    function en_languages(none_block1){
        var en_text=document.querySelectorAll('.textEn');
        en_text.forEach(function(ele_en){
            ele_en.style.display=none_block1;
        })
    }

    function tauschen(u){
       var nav_links=document.querySelectorAll('nav ul li a');
       nav_links.forEach(function(ele){
           if(u==2){
               var position = array_ger.indexOf(ele.innerHTML);
               ele.innerHTML=array_eng[position];
               en_lang.setAttribute('disabled',true);
               de_lang.removeAttribute('disabled');
           }
           if(u==1){
               var position = array_eng.indexOf(ele.innerHTML);
               ele.innerHTML=array_ger[position];
               en_lang.removeAttribute('disabled');
               de_lang.setAttribute('disabled',true);
           }
       })
    }
});
</script>
 
Zuletzt bearbeitet:
Werbung:
Ein Problem gibt es noch.
Ein Erstbesucher könnte gleich am Anfang auf den Deutschen Button klicken und würde somit wieder ein undefined erzeugen.
Deshalb schreib in der Zeile vor if(someVarName=="Engl"){
den Code
Javascript:
if(!localStorage.pageLanguage){
      de_lang.setAttribute('disabled',true);
}

Dann sollte jetzt alles gehen hoffe ich
 
Das ist schön das es jetzt geht .
Du solltest aber trotzdem mal kucken ob du dir das zu Herzen nimmst.
@apfelbaum
Wenn es um eine Firmen-Webseite geht, sollte man um Baukästensysteme wie Jimdo einen großen Bogen machen. Man nimmt dann besser einen Webspace mit PHP und MySQL und setzt dann z.B. WordPress auf.

Du siehst ja selber das man jetzt alles mit JS regeln muß wenn du was anderes machen willst.Das ist ja auch doof..
 
Werbung:
Kann ich nachvollziehen, mag für große Unternehmen auch richtig sein, aber so viele Änderungen kommen da nicht mehr. Ich danke für vielmals für die Hilfe!
 
Zurück
Oben