Maison > interface Web > js tutoriel > le corps du texte

Utilisez jQuery pour imiter la carte de focus du site officiel d'Apple effets spéciaux_jquery

WBOY
Libérer: 2016-05-16 16:24:46
original
1129 Les gens l'ont consulté

L'image focus jQuery que nous souhaitons partager cette fois est très spéciale. Elle a une apparence très simple, mais elle est aussi assez atmosphérique. Le style général de l'image de focus est imité par Apple. En raison de l'utilisation de jQuery, il suffit de cliquer sur la vignette sous l'image pour obtenir l'effet d'image de focus du changement d'image. Ce plug-in d'image de focus jQuery est très approprié. à utiliser sur les pages Web qui affichent des vidéos.

Ensuite, partageons le processus et le code source de mise en œuvre de cette image Apple Focus.

Code HTML :

Copier le code Le code est le suivant :

Comme le montre le code HTML ci-dessus, l'image de focus entière est composée de quelques divs pour former le conteneur d'image, et la liste ul li est utilisée pour former la vignette ci-dessous.

Code CSS :

Copier le code Le code est le suivant :

#galerie{
    /* Ombre de la boîte CSS3 */
    -moz-box-shadow:0 0 3px #AAAAAA;
    -webkit-box-shadow:0 0 3px #AAAAAA;
    box-shadow:0 0 3px #AAAAAA;
    /* Coins arrondis CSS3 */
    -moz-border-radius-bottomleft:4px;
    -webkit-border-bottom-left-radius:4px;
    bordure-bas-gauche-radius:4px;
    -moz-border-radius-bottomright:4px;
    -webkit-border-bottom-right-radius:4px;
    bordure-bas-droit-radius:4px;
    bordure : 1px blanc uni ;
    background:url(img/panel.jpg) répéter-x en bas au centre #ffffff;
    /* La largeur de la galerie */
    largeur:920px;
    débordement : masqué ;
>
#diapositives{
    /* Ceci est la zone des diapositives */
    hauteur:400px;
    /* jQuery modifie ultérieurement la largeur en la somme des largeurs de toutes les diapositives. */
    largeur:920px;
    débordement : masqué ;
>
.slide{
    float:gauche;
>
#menu{
    /* Ceci est le conteneur pour les vignettes */
    hauteur:45px;
>
ul{
    marge:0px;
    remplissage:0px;
>
li{
    /* Chaque vignette est un élément li */
    largeur:60px;
    display:inline-block;
    style de liste : aucun ;
    hauteur:45px;
    débordement : masqué ;
>
li.inact:survol{
    /* L'état inactif, mis en évidence au survol de la souris */
    background:url(img/pic_bg.png) répéter;
>
li.act,li.act:survol{
    /* L'état actif du pouce */
    background:url(img/active_bg.png) no-repeat;
>
li.agir a{
    curseur:par défaut;
>
.fbar{
    /* La barre verticale la plus à gauche, à côté de la première vignette */
    largeur:2px;
    background:url(img/divider.png) pas de répétition à droite ;
>
li un{
    display:bloc;
    background:url(img/divider.png) pas de répétition à droite ;
    hauteur:35px;
    rembourrage-top:10px;
>
une image{
    bordure : aucune ;
>

CSS代码也非常简单,都是一些简单设置而已。

jQuery代码:

复制代码 代码如下 :

$(document).ready(function(){
    /* Ce code est exécuté une fois le DOM complètement chargé */
    var totWidth=0;
    var positions = nouveau tableau();
    $('#slides .slide').each(function(i){
        /* Parcourez toutes les diapositives et stockez leurs largeurs cumulées dans totWidth */
        positions[i]= totWidth;
        totWidth = $(this).width();
        /* Le tableau positions contient le décalage commulutatif de chaque diapositive par rapport à la partie gauche du conteneur */
        si(!$(this).width())
        {
            alert("S'il vous plaît, remplissez la largeur et la hauteur de toutes vos images!");
            retourner faux ;
        >
    });
    $('#slides').width(totWidth);
    /* Change la largeur du div cotnainer à la largeur exacte de toutes les diapositives combinées */
    $('#menu ul li a').click(function(e,keepScroll){
            /* Sur une vignette cliquez */
            $('li.menuItem').removeClass('act').addClass('inact');
            $(this).parent().addClass('act');
            var pos = $(this).parent().prevAll('.menuItem').length;
            $('#slides').stop().animate({marginLeft:-positions[pos] 'px'},450);
            /* Démarre l'animation de glissement */
            e.preventDefault();
            /* Empêcher l'action par défaut du lien */
            // Arrêt de l'avance automatique si une icône a été cliquée :
            if(!keepScroll) clearInterval(itvl);
    });
    $('#menu ul li.menuItem:first').addClass('act').siblings().addClass('inact');
    /* Au chargement de la page, marquez la première vignette comme active */
    /*****
     *
     *    Activation de l'avance automatique.
     *
     ****/
    var courant=1;
    fonction autoAdvance()
    {
        if(current==-1) return false;
        $('#menu ul li a').eq(current%$('#menu ul li a').length).trigger('click',[true]);    // [true] sera passé comme paramètre keepScroll de la fonction click à la ligne 28
        actuel ;
    >
    // Le nombre de secondes pendant lesquelles le curseur avancera automatiquement :
    var changementChaque = 10;
    var itvl = setInterval(function(){autoAdvance()},changeEvery*1000);
    /* Fin des personnalisations */
});

完成了图片滑块的动画逻辑,点击缩略图即可切换图片。

É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