2017-08-17 2 views
0

Ich arbeite in einer Website mit PHP, CSS und Jquery, um Informationen in einem Tagesmenü anzuzeigen.Probleme, um eine Klasse aktiv zu machen

Ich baute ein Menü mit li, um die Tage von Montag bis Freitag darzustellen.

Ich habe versucht, den folgenden Jquery-Code zu verwenden, um eine Klasse hinzuzufügen, ohne Glück, um meine Schaltflächen aktiv zu machen, wenn ich klicke.

$(document).ready(function() { 
 
    $(".dias li").click(function() { 
 
    $(this).addClass("actidia"); 
 
    $(this).siblings().removeClass("actidia"); 
 
    return false; 
 

 
    }); 
 
});
.dias { 
 
    list-style: none; 
 
    width: 440px; 
 
    margin-top: 10px; 
 
    margin-bottom: 5px; 
 
    margin-left: auto; 
 
    margin-right: auto; 
 
} 
 

 
.dias>li { 
 
    float: left; 
 
    width: auto; 
 
    height: 28px; 
 
    line-height: 28px; 
 
    margin-right: 15px; 
 
    padding: 1px 12px 1px 12px; 
 
    font-family: Raleway; 
 
    font-size: 15px; 
 
    border: 1px solid #F90; 
 
    background-color: #F90; 
 
    -webkit-border-radius: 8px; 
 
    -moz-border-radius: 8px; 
 
    border-radius: 8px; 
 
} 
 

 
.dias>li:hover { 
 
    background-color: rgba(255, 204, 0, 0.2); 
 
    border-top: 1px solid #F60; 
 
    border-bottom: 1px solid #F60; 
 
} 
 

 
.dias>li a { 
 
    color: #111; 
 
    font-family: Raleway; 
 
    font-size: 13px; 
 
    font-weight: 400; 
 
} 
 

 
.dias>li a:hover { 
 
    color: #444; 
 
    font-family: Raleway; 
 
    font-weight: 400; 
 
    text-decoration: none; 
 
} 
 

 
.dias .actidia { 
 
    color: #555; 
 
    font-size: 13px; 
 
    font-family: Raleway; 
 
    font-weight: 400; 
 
    background-color: rgba(255, 204, 0, 0.2); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul class="dias"> 
 
    <li><a href="menudia_user.php?dia=<?php echo $lunes ?>">Lunes</a></li> 
 
    <li><a href="menudia_user.php?dia=<?php echo $martes ?>">Martes</a></li> 
 
    <li><a href="menudia_user.php?dia=<?php echo $miercoles ?>">Miercoles</a></li> 
 
    <li><a href="menudia_user.php?dia=<?php echo $jueves ?>">Jueves</a></li> 
 
    <li><a href="menudia_user.php?dia=<?php echo $viernes ?>">Viernes</a></li> 
 
</ul>

Das Problem ist, dass ich return false hinzufügen, um eine Klasse verwenden und meine Tasten aktiv auf Klick machen, aber wenn ich es meine Links verwenden, funktionieren nicht. Wenn ich herausnehmen zurückgeben falsche meine Links funktionieren, aber die Klasse wird nicht angewendet. Meine Tasten blinken einfach.

Ich habe viele Stunden damit verbracht zu suchen und zu versuchen, eine Lösung ohne Glück zu finden.

Ich werde jede Hilfe in dieser Angelegenheit zu schätzen wissen.

+0

Was wollen Sie passieren, wenn Sie auf einen Link klicken? Soll es dich nicht irgendwohin bringen? – j08691

+0

Es wird auf die gleiche Seite gehen, aber es wird nach dem Tag Wert filtern, den ich sende. Zum Beispiel: menudia_user.php? Day = 1 – Polonio

Antwort

0

Wenn Sie auf Linkpage klicken, wird aktualisiert. Es wird also nicht Ihre jQuery-Logik anwenden. Sie können das mit PHP Logik tun.

Sie benötigen eine weitere Variable zum Speichern $_GET param. So erklärt unten Variable in Ihrem PHP-Code:

$dia = isset($_GET['dia']) ?$_GET['dia']:''; 

anwenden zu können aktive Klasse die $dia mit href Variablen überprüfen. Wenn beide gleich sind, wenden Sie die aktive Klasse an. Verwenden Sie die folgende Code & tun es auch für andere li

<li class="<?php echo $dia==$lunes?'actidia':''; ?>"><a href="menudia_user.php?dia=<?php echo $lunes; ?>">Lunes</a></li> 
+0

In der Tat ist, wie Sie es sagen, das Problem ist, dass die Seite aktualisiert wird und die Logik von jquery verloren geht. Ich musste PHP verwenden, um die Klasse zuzuweisen, die ich brauche. Ich konnte den Code, den du mir geschrieben hast, nicht verwenden, aber die Anpassung des Codes an deine Antwort funktionierte für mich. Vielen Dank. Dies ist der Code, den ich verwendet habe:

  • Lunes
  • Polonio

    Verwandte Themen