Maison > interface Web > js tutoriel > Comment utiliser du code js simple pour obtenir l'effet de défilement du carrousel ?

Comment utiliser du code js simple pour obtenir l'effet de défilement du carrousel ?

藏色散人
Libérer: 2018-08-09 16:26:23
original
4262 Les gens l'ont consulté

L'affichage carrousel sur la page d'accueil est fondamentalement essentiel. Donc pour les novices, il peut être un peu difficile d'utiliser le js original. En fait, il n'est pas nécessaire de considérer le défilement des images comme compliqué. Le principe de mise en œuvre de l'image carrousel js peut être principalement compris comme la fusion d'images de même taille dans une colonne, mais une seule des images est affichée et les autres sont masquées. L'image affichée est modifiée en modifiant la valeur de gauche. Les images du carrousel glissent automatiquement toutes les quelques secondes pour obtenir l'effet de lecture des images à tour de rôle. En termes d'effets, il y a un glissement et une entrée progressive. Le carrousel coulissant est l'effet d'images glissant de gauche à droite, progressivement. L'image est l'effet des images qui s'affichent progressivement en fonction de la transparence.

Cet article explique donc comment utiliser js pour obtenir des effets de carrousel d'images et de glissement. J'espère qu'il sera utile aux amis dans le besoin.

Les exemples de code spécifiques pour l'implémentation js des images de carrousel sont les suivants :

    //HTML代码部分
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>js实现轮播图原理及示例</title>
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
    <!--从左向右滑动-->
        <nav>
            <ul id="index">
                <li class="on"></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ul>
            <ul id="img">
                <li><img src="img1.jpg" alt="img1"></li>
                <li><img src="img2.jpg" alt="img2"></li>
                <li><img src="img3.jpg" alt="img3"></li>
                <li><img src="img4.jpg" alt="img4"></li>
                <li><img src="img5.jpg" alt="img5"></li>
            </ul>
        </nav>
    <script src="script.js"></script>
    </body>
    </html>
Copier après la connexion
//css代码部分
*{        margin:0;        padding:0;
    }    nav{        width: 720px;        height: 405px;        margin:20px auto;        overflow: hidden;        position: relative;
    }    #index{        position: absolute;        left:320px;        bottom: 20px;
    
    }    #index li{        width:8px;        height: 8px;        border: solid 1px gray;        border-radius: 100%;        background-color: #eee;        display: inline-block;
    }    #img{        width: 3600px;/*不给宽高无法移动*/
        height: 405px;        position: absolute;/*不定义absolute,js无法设置left和top*/
        z-index: -1;
    }    #img li{        width: 720px;        height: 405px;        float: left;
    }    #index .on{        background-color: black;
    }
Copier après la connexion
//js代码部分
function moveElement(ele,x_final,y_final,interval){//ele为元素对象
        var x_pos=ele.offsetLeft;        var y_pos=ele.offsetTop;        var dist=0;        if(ele.movement){//防止悬停
            clearTimeout(ele.movement);
        }        if(x_pos==x_final&&y_pos==y_final){//先判断是否需要移动
            return;
        }
        dist=Math.ceil(Math.abs(x_final-x_pos)/10);//分10次移动完成
        x_pos = x_pos<x_final ? x_pos+dist : x_pos-dist;
        
        dist=Math.ceil(Math.abs(y_final-y_pos)/10);//分10次移动完成
        y_pos = y_pos<y_final ? y_pos+dist : y_pos-dist;
        
        ele.style.left=x_pos+&#39;px&#39;;
        ele.style.top=y_pos+&#39;px&#39;;
        
        ele.movement=setTimeout(function(){//分10次移动,自调用10次
            moveElement(ele,x_final,y_final,interval);
        },interval)
    }
Copier après la connexion

Remarque :

mouvement de l'image La fonction moveElement() doit obtenir la position actuelle et la position cible de l'image et calculer la différence entre elles pour se déplacer. Vous pouvez utiliser offsetLeft et offsetTop pour obtenir la position actuelle de l'image. L'effet de "faire glisser" l'image lors d'un déplacement est de diviser la distance en 10 fois pour le mouvement, c'est-à-dire en utilisant la fonction setTimeOut. Cependant, afin d'empêcher la souris de survoler, la fonction clearTimeout() doit être appelée. .

[Articles connexes recommandés]

Exemples détaillés de jquery pour obtenir l'effet carrousel gauche et droit

CSS3 pour implémenter l'effet carrousel

Implémentez facilement des images de carrousel avec JS

Deux façons d'implémenter des images de carrousel avec js


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