2017-03-29 2 views
0

Also, ich habe dieses Menü, das mit einigen dynamisch angezeigten Inhalt verknüpft ist, habe ich versucht, einige js-Code schreiben, die die Schriftart des gerade aktiven Elements ändert. Mein Problem ist jetzt, dass es dieses Element nie abwählen wird, wenn es nicht mehr aktiv ist.ändern aktiv Menü-Elemente Schriftart auf klicken

jsfiddle:

https://jsfiddle.net/z4uhL5wv/2/

jquery:

$(document).ready(function() { 

    $("a.menu2").click(function(e) { 
    $('.ShowClickedContent').html($($(this).attr('href')).html()); //dynamic content 
    var clicks = 0; 

     if(clicks % 2 == 0){ 
      $(this).css('font-family','gillsans'); 
     }else{ 
      $(this).css('font-family','gillsanslight'); 
     } 
     ++clicks; 


}); 

}); 

Jede Hilfe wäre dankbar. Hinweis: Ich muss diese exakte showClickedContent-Abfrage in der endgültigen Lösung verwenden, da sonst Probleme mit der Marge auftreten.

Antwort

1

https://jsfiddle.net/ynrnt6xL/

$(document).ready(function() { 

    const buttons = $('.menu2'); 
    const clear = function() { 
    $.each(buttons, function(index, btn) { 
     $(btn).removeClass('selected'); 
    }) 
    } 

    $.each(buttons, function(index, btn) { 
    $(btn).click(function(e) { 
     clear(); 
     $(this).addClass('selected'); 
    }); 
    }); 

}); 
+0

eine Erklärung, was Sie geändert und warum es das Problem löst, wäre großartig. – JJJ

1

Sie können es mit CSS tun! Ich habe nicht mit Zohan an Schriftart, aber ich habe es mit font-size als Beispiel:

a:active, a:focus {font-size:15px;} 

Ersetzen Sie einfach den font-size mit font-family und was auch immer ...

Verwandte Themen