Comment puis-je basculer CSS avec jQuery?
J'ai le code suivant:
$('#bc' + $.trim($this) + ' span.dashed-circle').css({ 'border' : '5px solid #000'});
Qui est déclenché par un clic.la fonction().
Je voudrais qu'être une bascule alors, quand je clique sur l'élément, ça change de la frontière de ce que j'ai ci-dessus...mais quand il est cliqué de nouveau il disparaît ou plutôt des ensembles de la frontière'.
Pensées?
Edit: je devrais avoir été explicite...mais je ne veux pas créer une classe CSS. La raison en est, car quand je fais ça, ça bousille la mise en forme de l'élément de style. Je suis sûr que c'est un petit caprice de quelque part qui permettrait de régler le problème, mais je ne suis pas intéressé à patauger dans l'ensemble de la base de code pour fixer peu des questions de positionnement avec une nouvelle classe. Je préférerais de beaucoup il suffit de modifier l'attribut css directement, car il n'interfère pas avec la mise en page.
Edit2: Voici le jsfiddle du code je suis en train de modifier. Si vous remarquez, j'ai les attributs CSS dernier. Mais comment faire pour qu'elle soit activée ?
Edit3: Si quelqu'un est intéressé...l'INTERFACE utilisateur qui sera utilisé dans est pour ma webapp - http://www.compversions.com
C'était la première chose que j'ai fait, mais en raison de la façon dont mon code est il me donnait des problèmes. C'est pourquoi je suis venu ici.
OriginalL'auteur marcamillion | 2010-12-22
Vous devez vous connecter pour publier un commentaire.
Essayer Cette
Cependant, je ne suis pas tout à fait sûr de savoir comment l'appliquer à mon code: jsfiddle.net/BMWZd/4 les Pensées?
Essayez mon montage ci-dessus.
J'ai essayé et c'est ce que je suis...à l'aide de votre code exactement comme vous l'avez collé: jsfiddle.net/BMWZd/7 La question est, qu'une fois que vous cliquez sur l'un des éléments dans la boîte, il reste noir lorsque vous essayez de l'enlever. Donc l'autre fonction dans la bascule ne semble pas être le travail (c'est à dire 'frontière' : 'none').
J'ai voté pour celui-ci de lonesomeday
OriginalL'auteur Cole
Je voudrais faire cela par la définition d'un
withborder
classe et le basculement de la classe.CSS:
jQuery:
$('#bc' + $.trim($this) + ' span.dashed-circle')
Hartsock, j'ai lu "quand je clique sur l'élément" comme faisant référence à l'élément mentionné dans le sélecteur.
Votre hypothèse peut être correct, mais je voulais juste le signaler.
Merci pour cette réponse, mais je n'ai pas été assez précis. Je ne veux pas d'une nouvelle classe. J'ai mis à jour la question d'ajouter plus de spécificité.
Comme vous voulez, mais il n'y a pas de différence fonctionnelle entre le faire en ligne avec
css
et avec une classe.OriginalL'auteur lonesomeday
vous pouvez créer une classe CSS pour cette
Ensuite en javascript basculer la classe à l'aide de jQuery toggleClass() la méthode
.
dans le nom de la classe lorsque vous appeleztoggleClass(".specialvorderClass")
je vous remercie.
Merci pour ce Jean, mais je ne veux pas d'une autre classe. Je veux simplement modifier le css. J'ai mis à jour la question pour en tenir compte.
J'adore cette technique, en particulier parce que le code est concis et sépare votre CSS, de JavaScript. Bravo!
OriginalL'auteur John Hartsock
L'utilisation de la bascule.
OriginalL'auteur Adam