2016-11-21 1 views
0

alors j'ai cette page https://tricote.net/contact/ Lorsque vous avez peu de liens sur la gauche et que vous cliquez dessus, elle lance votre application de messagerie et vous permet d'envoyer des e-mails à la boutique.L'état du vol stationnaire ne fonctionne pas après avoir cliqué sur

Cependant, après avoir cliqué sur l'un d'eux, liens cliqués planent état DESAcTI et reste des liens ne tourne pas sur l'état de vol stationnaire ....

Est-il possible de résoudre ce problème ..? Merci pour votre temps à l'avance ...!

+0

On dirait qu'il a des écouteurs d'événement JavaScript sur la fonction de clic, et ce n'est pas une simple chose de hover. –

+0

L'état du survol sera désactivé lorsque le navigateur détecte que le curseur ne survole plus la case qui fonctionne comme prévu. Le problème ici est que vous avez du code JavaScript qui ajoute un style en ligne aux boîtes. Vous devez supprimer cela comme Aliester l'a demandé afin qu'il puisse fonctionner correctement. Vous pouvez vérifier cela en exécutant ce code '$ (". Contactbox "). Each (function (i, e) {$ (e).css ("background", "");}); 'dans la console du navigateur après avoir cliqué sur l'une des cases pour visualiser le problème. – josephting

Répondre

1

Ok, donc ceci est votre code problème:

$(".contactbox").each(function() { 
     var e; 
     return e = this, 
     $(e).on("click", function() { 
      var t, n; 
      return t = $(".contactbox").index(e), 
      $(".contactbox").css("background", "#fff"), 
      $(e).css("background", "#648d85"), 
      n = $(".contactbox").eq(t).data("label"), 
      $("#contact_subject").val(n) 
     }) 
    }) 

Essentiellement, vous définissez la couleur d'arrière-plan en utilisant l'attribut « style » de l'élément HTML lorsque vous utilisez « .css ». Cela remplace tout ce qui est défini dans le fichier CSS. Je crois que cela outrepasse le style "hover".

Vous voulez changer ces lignes:

$(".contactbox").css("background", "#fff"), 
$(e).css("background", "#648d85") 

Vous pouvez créer une classe supplémentaire qui spécifie que le style de l'élément « actif » au lieu d'utiliser « .css ». Cela pourrait ressembler à ceci:

$(".contactbox").removeClass("activeElement"); 
$(e).addClass("activeElement"); 

De cette façon, vous pouvez contrôler ce qui l'emporte sur ce que par la commande dans le fichier CSS ou de fournir une règle supplémentaire pour css le comportement de vol stationnaire de classe « activeElement ».

EDIT1: Ok, donc de votre commentaire, on dirait que vous ne voulez pas vraiment styler la dernière sélection de l'utilisateur. Donc, à la place, il suffit de supprimer ces lignes:

$(".contactbox").css("background", "#fff"), 
$(e).css("background", "#648d85") 

Je pensais que vous vouliez indiquer à l'utilisateur quelle était la dernière sélection. Il semble que vous ne le vouliez pas, vous n'avez donc pas besoin d'utiliser les lignes "removeClass"/"addClass" que j'ai incluses ci-dessus.

J'espère que je comprends ce que vous voulez faire. Sinon, voici une liste des états possibles pour ces éléments. Veuillez ajouter un commentaire ou mettre à jour votre question en indiquant comment vous souhaitez que chaque combinaison d'états soit stylée. Je numéroté afin que vous pouvez référencer par numéro

actuels États possibles:

  1. Article SELECTIONNES/Non en lévitation
  2. Article sélectionné/Planer
  3. Point Non sélectionné/Non Planant
  4. Objet Non Selected/Hovering

Avec les recommandations dans cette édition (State-1 === State-3) et (State-2 === État-4).

+0

Merci! Maintenant, d'autres liens peuvent désactiver l'état hover après avoir cliqué sur un lien. Cependant, après avoir cliqué sur un lien, le même lien sur lequel vous avez cliqué ne désactivera pas l'état du survol, même si ma souris est supprimée du lien .... Y a-t-il autre chose qui a causé cela? –

+0

@HirohitoYamada Je ne suis pas sûr de comprendre. À partir de votre code actuellement lorsqu'un élément est sélectionné, sa couleur d'arrière-plan est définie sur la même couleur que le style hover. J'ai supposé que vous aviez l'intention d'indiquer l'élément actif. Si vous pouvez décrire le style que vous voulez: "sélectionné et non planant", "sélectionné et planant", "non sélectionné et non planant", et "non sélectionné et planant", je peux mettre à jour ma réponse. – Adrian

+0

Désolé pour le commentaire déroutant. Donc voici le problème que j'ai laissé après avoir appliqué votre suggestion. 1: Vous cliquez sur un, application de messagerie ouverte. 2: Cliecked liens de fond, reste en vol stationnaire et il ne reviendra pas à fond blanc, peu importe ce que ... –