Je voudrais changer la couleur du texte en fonction de la page de la page cliquée à l'aide de PHP.
HTML STRY> P> $('.link').click(function () {
var jcolor = <?php echo $color; ?>;
if (jcolor == "red") {
$(".toChange").css({
"color": "red"
});
}
if (jcolor == "gre") {
$(".toChange").css({
"color": "green"
});
}
if (jcolor == "yel") {
$(".toChange").css({
"color": "yellow"
});
}
});
4 Réponses :
changer ceci: p>
à ceci: p>
var jcolor = php echo $ couleur; ?>; code> p>
var jcolor = ' PHP Echo $ Couleur; ?> '; code> p>
Merci mais travaille presque. Maintenant, le texte change pour un peu de milliseconde puis retourne noir. Peut-être qu'il y a un problème de boucle ou quelque chose de similaire
Essayez de changer votre script par code ci-dessous, pas besoin de déclencher cliquez sur l'événement sur .Link code> car vous avez déjà cliqué sur le lien ( code>) et a obtenu la couleur de l'URL ,
Également chaque fois que vous attribuez des valeurs à partir de la variable PHP à JS, mettez des citations simples ou doubles autour du code PHP comme celui-ci ' PHP Echo $ couleur; ?> ' code>
JS attend la valeur de chaîne et que
Parce que plus tard, vous comparez vers donc ce que vous faites réellement est d'affecter une variable à une autre qui est que je suis sûr qu'il vous imprimera une erreur si vous Recherchez la console Vous trouverez Donc, tout ce dont vous avez besoin est simplement d'ajouter la valeur sous forme d'une chaîne à l'intérieur "" P>
blockQuote>
blockQuote> si (jcolor == "rouge") { code>, non défini code> de la variable mentionnée p>
PHP (côté serveur) exécute en premier lorsque la page rechargée après PHP JavaScript (côté client) est exécutée ...
SO, P>
Ce code exécute d'abord lorsque la page Chargue p> maintenant, la couleur est rouge p> P> P> P> P> Cette JS fonctionnera d'abord p> Il changera la couleur, mais une fois cette page rechargée parce que vous avez cliqué sur le lien ... P> maintenant, Laissez-vous cliqué sur vert p> Votre nouvelle URL sera index.php? col = gre p> Ce code fonctionnera à nouveau p> <script>
$(document).ready(function(){
var jcolor = <?php echo $color; ?>;
if (jcolor == "red") {
$(".toChange").css({"color": "red"});
}
if (jcolor == "gre") {
$(".toChange").css({"color": "green"});
}
if (jcolor == "yel") {
$(".toChange").css({"color": "yellow"});
}
});
</script>
EDIT: Merci de répondre à l'origine, le code était avec un numéro ceci que je pourquoi j'oublie ''. Le problème est maintenant que lorsque vous sélectionnez une couleur, le texte change Colo pour quelques millisecondes, il retourne noir. Je pense que c'est un problème d'actualisation ou de quelque chose de similaire. Donc, lorsque je clique sur une couleur, le changement de couleur de texte pour un bit milliseconde puis la page actualisée et le texte renvoie noir. Comment puis-je éviter de rafraîchir?