IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Un roll-over plus avancé que d'habitude


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ticketman Webdeveloppeur
    Inscrit en
    Juin 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ticketman Webdeveloppeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 44
    Par défaut Un roll-over plus avancé que d'habitude
    Bonjour, tout le monde.

    J'ai un petit souci.
    D'habitude, je réalise des roll-over en actionscript tout simple avec la methode getElementById de façon à changer l'image quand on la survole. Bon çà, c'est du tout bête...
    Mais là, j'ai affaire à une navigation bien différente. En effet, on veut des boutons avec le texte dedans et un background aux bords arrondis, sans compter les ombrages. Rien que ca, ca va être un belle bagarre à faire...

    Ma question est la suivante :
    Peut-on faire en sorte que quand on survole le bouton, on change sa classe CSS ? Et si oui, comment ?

    Je commence à faire des recherches de mon côté, mais pour le moment, c'est pas la joie !

    Merci pour votre aide !

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonsoir,

    C'est obligatoire de passer par les styles ? La version "toute bête" comme vous dites ne suffit pas ? Bon, d'accord, il faut savoir faire de belles icônes.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Peut-on faire en sorte que quand on survole le bouton, on change sa classe CSS ? Et si oui, comment ?
    Ben c'est un peu la base des rollover css ...
    on peut modifier sa classe ou plus simplement modifier son background position. une seul image pour le background composée des differents état juxtaposés
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre averti
    Homme Profil pro
    Ticketman Webdeveloppeur
    Inscrit en
    Juin 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ticketman Webdeveloppeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 44
    Par défaut
    Déjà, rien que les boutons en eux même c'est un sacré bazar.
    J'ai ouvert une discution là dessus, sur la partie CSS du forum.

    http://www.developpez.net/forums/d93...s/#post5261063

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Citation Envoyé par John Vass Voir le message
    Déjà, rien que les boutons en eux même c'est un sacré bazar.
    J'ai ouvert une discution là dessus, sur la partie CSS du forum.

    http://www.developpez.net/forums/d93...s/#post5261063
    Nan c'est tout con à faire, check dans le forum CSS de ce site, ils viendront te donner une solution très propre.

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut En css
    Si c'est un simple rollover il suffit d'utiliser le selecteur css : "hover" qui correspond à l'état au survol de la souris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ma_classe{
      background-image : url(mon_image)
    }
    ma_classe:hover{
      background-image : url(mon_autre_image)
    }
    Sinon si tu préfères en javascript je ne me souviens plus exactement de la syntaxe mais en jquery ca donnerait

    $("#mon_id").addClass("ma_classe") pour ajouter la classe et
    $("#mon_id").removeClass("ma_classe") pour l'enlever

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut IE 6 c'est un fléau
    SpaceFrog ce n'est pas crossbrowser tu veux plutôt dire que ie 6 et inférieur ne le supporte pas.

    Je pense qu'il faut rapidement arrêter de se soucier de ce navigateur qui empêche le Web d'évoluer et le développeur d'avancer...

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    malheureusement IE6 n'est pas mort...
    nombreux sont nos client qui l'utilisent encore et je ne peux donc par conséquent pas le négliger ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    malheureusement IE6 n'est pas mort...
    Je crois que ce jour là il va y avoir "du développeur web" avec mal aux cheveux dans tous les coins

  10. #10
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Citation Envoyé par jbin-1 Voir le message
    Je pense qu'il faut rapidement arrêter de se soucier de ce navigateur qui empêche le Web d'évoluer et le développeur d'avancer...
    On voudrait tous pouvoir oublier IE6
    Malheureusement ça dépend encore du contexte de ton projet : pour un outil maison pas de souci, mais pour une diffusion globale, il y a encore trop de postes (notamment dans les entreprises où les utilisateurs n'ont pas toujours les droits pour installer leurs applis) qui n'ont qu'IE6 pour naviguer... ^^

    Courage ça finira par venir

  11. #11
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Par défaut
    Je sais très bien ne vous inquiétez pas (mon entreprise m'oblige également à faire tourner nos sites sous ie6). Mais je pense que le vrai problème est là! si tout le monde se mettait d'accord pour ne pas penser aux entreprises qui tournent encore sous ie6 ces dernières n'auraient plus d'autre choix que d'évoluer... Mais je sais que cela reste un point de vue et une utopie.

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 333
    Par défaut
    en même temps il n'y a pas à discuter quand rendre cross-browser ne coûte rien ! D'autant plus que ta solution demande le chargement de deux images, avec un laps de temps entre le passage de l'une à l'autre (au premier survol), ce qui sera moche...


    faire trois ligne de CSS en plus pour modifier le background-position d'un sprite et modifier la classe d'un élément survolé se fait simplement, c'est cross-browser et c'est plus joli !


    Par exemple, si ton bouton fait 80x20, tu fait un sprite de 80x40 avec les deux boutons l'un au dessus de l'autre, en javascript tu modifie l'attribut class en ajoutant "actif" au survol et l'efface quand tu ne survol plus, et en css (pour un span par exemple)


    span {
    background: url('ton/image.png');
    }

    span.active {
    background-position: -20px 0;
    }

    Et hop, ça se fera sans latence ! Tu peux aussi modifier le bckgrd-pos en javascript, mais je préfère modifier mes fichiers CSS en cas de changement plutôt que des scripts JS... La même technique sans JS et 100% CSS pour les liens, en remplacant "a.active" par "a:hover" Parce que tant qu'on peut le faire en CSS, autant laisser JS de coté.



    Faire des sprites et jouer sur le bckgrd-pos c'est un peu la base pour les sites. Exemple : un sprite de Facebook ou un sprite de boutons trouvé sur Google !

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/01/2015, 18h39
  2. Les PC sont de plus en plus bruyants que faire
    Par plichtal dans le forum Ordinateurs
    Réponses: 260
    Dernier message: 23/12/2011, 12h28
  3. Réponses: 4
    Dernier message: 23/04/2009, 14h40
  4. [Spam] Les spammeurs sont tombés plus bas que d'habitude
    Par Médinoc dans le forum La taverne du Club : Humour et divers
    Réponses: 16
    Dernier message: 19/10/2008, 12h49
  5. [Datareport] Etat plus large que le papier
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 09/09/2002, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo