Maison > interface Web > js tutoriel > Comment obtenir l'effet de battement de balle en javascript

Comment obtenir l'effet de battement de balle en javascript

php中世界最好的语言
Libérer: 2018-03-14 14:37:54
original
3339 Les gens l'ont consulté

Cette fois, je vais vous montrer comment obtenir l'effet rebondissant de petites balles en utilisant javascript. Quelles sont les précautions à prendre pour utiliser javascript pour obtenir l'effet rebondissant de petites balles ? Voici un cas pratique.

Ce que nous présentons aujourd'hui est un effet d'animation sympa obtenu grâce à javascript. Je vais vous montrer les effets spécifiques à travers des images


Comment obtenir leffet de battement de balle en javascript


. Après avoir été relâchées, ces petites boules se déplaceront dans une plage spécifiée. La partie la plus critique est que les différents styles de ces petites boules sont obtenus de manière aléatoire, donc un effet sympa apparaît. Principalement Le code utilisé pour générer des nombres aléatoires est le suivant :

//获取一个范围内的随机数random返回一个大于0小于1的一个随机数 
            function selectFrom(Lowervalue,upperValue){ 
                var choices=upperValue-Lowervalue+1; 
                return Math.floor(Math.random()*choices+Lowervalue); 
            }
Copier après la connexion

Après cela, les différents styles de ces petites boules sont obtenus grâce à des fonctions aléatoires. La partie restante concerne le positionnement. Chaque petite boule est un p, qui sont toutes positionnées de manière absolue, utilisez offsetLeft pour obtenir la position. de ces petites boules par rapport au conteneur parent pour les empêcher de sortir de la limite. Tant que la méthode d'implémentation consiste à obtenir la position relative du p via offsetLeft, alors jugez si la période actuelle s'est déplacée vers la limite. , laissez la vitesse de p égale à l'inverse de la vitesse,

        //设置运行速度
            Circle.prototype.run=function(){
                var maxLeft=1435-this.r*2;                var maxTop=700-this.r*2;                var that=this;                //使用间隔式计时器
                setInterval(function(){
                    var left=that.p.offsetLeft + that.speedX;                    var top=that.p.offsetTop + that.speedY;                    if(left<=0)
                    {
                        left=0;
                        that.speedX *=-1;
                    }                    if(top<=0)
                    {
                        top=0;
                        that.speedY *=-1;
                    }                    if(left>=maxLeft)
                    {
                        left=maxLeft;
                        that.speedX*=-1;
                    }                    if(top>=maxTop)
                    {
                        top=maxTop;
                        that.speedY*=-1;
                    }
                    that.p.style.left=left+"px";
                    that.p.style.top=top+"px";
                },30)
            }
Copier après la connexion

Ensuite, vous pouvez voir l'effet de ces flippers se déplaçant dans une plage :


Comment obtenir leffet de battement de balle en javascript


Le code complet pour l'ensemble de l'effet est le suivant :


    
        
        躁动的小球
        
        
    
    
        

Copier après la connexion

Cela implique également l'utilisation de this. Lorsque vous utilisez une autre fonction à l'intérieur d'une fonction, vous devez Déterminer. la portée de la fonction actuelle et distinguer la portée indiquée par ceci. Lors d'un appel en interne, vous pouvez utiliser des variables en externe pour enregistrer la portée indiquée par ceci. J'espère que cela sera utile à votre étude.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Solutions aux problèmes courants de compatibilité CSS

Problèmes de compatibilité du navigateur Web frontal Solution

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal