holy-calamity | Bonjour à tous !
Je viens vers vous car j’ai une question que je n’arrive pas à résoudre malgré mes recherches.
Le sujet est tout simple :
J’ai réalisé une page en HTML/CSS avec un peu de javascript. Dans cette page, l’utilisateur est amené à cliquer sur des boutons.
Je stocke le choix d’un utilisateur dans une variable en localStorage afin de pouvoir en garder une trace à tout instant et lors des prochaines connexions à ma page.
Ce que j’aimerai réaliser, c’est qu’au moment où l’utilisateur a cliqué sur un des boutons, celui-ci change de couleur afin de préciser que le choix de l’utilisateur s’est orienté vers ce bouton. Ainsi quand il reviendra sur cette page dans le futur, il verra que c'était ce bouton qui était sélectionné.
Sur internet et même sur ce forum j’ai trouvé pas mal de questions similaires, mais quand est venu le moment d’appliquer les différentes solutions, jamais ça ne marchait.
Je vous met donc mon code ci-dessous avec la solution que j’ai tenté de réaliser (et qui ne marche pas donc).
Si quelqu’un a une idée sur comment ça peut marcher je vous en serai reconnaissant.
Je vous remercie
Script javascript et code HTML:
Code :
- function WhatVoiceAmIUsing()
- {
- property = document.getElementById(localStorage.voiceName);
- property.style.backgroundColor = '#FF0000';
- }
- <a id="my-id1" class="buttonlink"><button onclick="SpeakFunction('OM', 'voice-number-1')" class="myButton" style="width:18%;left:10%;top:50%;height:10%;">Button1</button></a>
|
Notez que le localStorage.voiceName ne reçoit que des valeurs qui ont le meme nom que les id des boutons.
Partie CSS:
Code :
- .myButton {
- -moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
- -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
- box-shadow:inset 0px 1px 0px 0px #ffffff;
- background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #f9f9f9), color-stop(1, #e9e9e9));
- background:-moz-linear-gradient(top, #f9f9f9 5%, #e9e9e9 100%);
- background:-webkit-linear-gradient(top, #f9f9f9 5%, #e9e9e9 100%);
- background:-o-linear-gradient(top, #f9f9f9 5%, #e9e9e9 100%);
- background:-ms-linear-gradient(top, #f9f9f9 5%, #e9e9e9 100%);
- background:linear-gradient(to bottom, #f9f9f9 5%, #e9e9e9 100%);
- filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e9e9e9',GradientType=0);
- background-color:#f9f9f9;
- -moz-border-radius:6px;
- -webkit-border-radius:6px;
- border-radius:6px;
- border:1px solid #dcdcdc;
- display:inline-block;
- cursor:pointer;
- padding:6px 24px 6px 24px;
- position:fixed;
- vertical-align:middle;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- }
- .myButton:hover {
- background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #e9e9e9), color-stop(1, #f9f9f9));
- background:-moz-linear-gradient(top, #e9e9e9 5%, #f9f9f9 100%);
- background:-webkit-linear-gradient(top, #e9e9e9 5%, #f9f9f9 100%);
- background:-o-linear-gradient(top, #e9e9e9 5%, #f9f9f9 100%);
- background:-ms-linear-gradient(top, #e9e9e9 5%, #f9f9f9 100%);
- background:linear-gradient(to bottom, #e9e9e9 5%, #f9f9f9 100%);
- filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#f9f9f9',GradientType=0);
- background-color:#e9e9e9;
- }
- .myButton:active {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- }
- .buttonlink{
- text-decoration:none;
- position:fixed;
- font-family:arial;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- }
|
J'espere que le code ci-dessus vous suffit. Comme vous pouvez vous en douter ce n'est pas moi qui est ecrit le CSS...
Encore merci |