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 :

Modification d'un script existant stopper une fonction


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 15
    Points
    15
    Par défaut Modification d'un script existant stopper une fonction
    Bonjour,
    j'ai récupéré un script permettant de faire un carousel sympa
    néanmoins le script a une réaction qui ne me convient pas .

    en effet je désirerais stopper la rotation du carousel lors du survol afin de pouvoir cliquer sur un élément, et que celui-ci reprenne tranquillement sa rotation lorsque la souris sors de l'anim.

    voici le script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    var count = 0; 
     
    var baseSpeed = 0.05; 
     
    var radiusX = 280; 
     
    var radiusY = 120; 
     
    var centerX = 100; 
     
    var centerY = 200;
     
    var speed = 0.3;
     
    var imageDivs = '';
     
    var numberOfElements = 0;
     
    var carousel = '';
     
    var speedTest = '';
     
     
     
     
     
    window.addEvent('domready', function(){
     
     
     
    	carousel = $('carousel');
     
    	speedTest = $('speedTest');
     
     
     
    	imageDivs = carousel.getElementsByTagName("div"); 
     
    	numberOfElements = imageDivs.length; 
     
     
     
    	setInterval('startCarousel()',40);
     
     
     
    	carousel.addEvent('mousemove', onMouseMove.bindWithEvent( carousel ));
     
     
     
    });
     
     
     
    function onMouseMove( evt ) {
     
     
     
    	tempX = evt.client.x;
     
    	speed = (tempX - centerX) / 5000;
     
     
     
    }
     
     
     
    function startCarousel(){
     
     
     
    	for(i=0; i < numberOfElements; i++){
     
     
     
    		angle = i * ( Math.PI * 2 ) / numberOfElements;
     
     
     
    		imageDivsStyle = imageDivs[ i ].style; 
     
    		imageDivsStyle.position='absolute'; 
     
     
     
    		posX = ( Math.sin( count * ( baseSpeed * speed ) + angle )* radiusX + centerX );
     
    		posY = ( Math.cos( count * ( baseSpeed * speed ) + angle )* radiusY + centerY );
     
     
     
     
     
    		imageDivsStyle.left = posX+"px"; 
     
    		imageDivsStyle.top = posY+"px"
     
     
     
    		imageDivWidth = posY/2;
     
    		imageDivZIndex = Math.round(imageDivWidth)+100;
     
     
     
    		imageDivsStyle.width = imageDivWidth+'px';
     
    		imageDivsStyle.zIndex = imageDivZIndex;
     
     
     
    		angle += speed;
     
     
     
    	}
     
     
     
    	count++
     
    }
    la fonction onmouseevent semble etre l'endroit a modifier mais mes modifications ne fonctionnent pas correctement (le script ne repars pas.

    une aide s'il vous plait !

    (je debute sous javascript)


    merci

  2. #2
    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 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    tu as un mousemove aussi qui semble modifier le comportement du carrousel (acceleration : hcnagement de sens) en fonction de la positon de la souris ...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    oui c'est la que ça bloque ...
    il agit sur la rotation, j'aimerais simplement que lorsque la souris entre dans l'anim elle se stoppe .
    mais quand j'influe sur le mouse move, plus rien ne bouge ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/05/2006, 13h45
  2. Réponses: 19
    Dernier message: 28/10/2005, 17h29
  3. Réponses: 4
    Dernier message: 28/10/2005, 16h30
  4. Réponses: 5
    Dernier message: 13/10/2005, 12h46
  5. [PHP-JS] pb lecture script php dans une fonction au démarrage
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/02/2005, 15h07

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