麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

酷炫jQuery全屏3D焦點圖動畫效果

2019-11-20 10:21:43
字體:
來源:轉載
供稿:網友

這又是一款很不錯的jQuery焦點圖動畫,它的特點是整個焦點圖基本是全屏顯示的,非常大氣,而且圖片的傾斜也給整個焦點圖3D立體的視覺效果,而且焦點圖的圖片切換非常流暢,相當實用。

HTML代碼:

<div class="wrapper"></div><div id="pxs_container" class="pxs_container"> <div class="pxs_bg"> <div class="pxs_bg1"></div> <div class="pxs_bg2"></div> <div class="pxs_bg3"></div> </div> <div class="pxs_loading">Loading images...</div> <div class="pxs_slider_wrapper"> <ul class="pxs_slider">  <li><img src="images/1.jpg" alt="First Image" /></li>  <li><img src="images/2.jpg" alt="Second Image" /></li>  <li><img src="images/3.jpg" alt="Third Image" /></li>  <li><img src="images/4.jpg" alt="Forth Image" /></li>  <li><img src="images/5.jpg" alt="Fifth Image" /></li>  <li><img src="images/6.jpg" alt="Sixth Image" /></li> </ul> <div class="pxs_navigation">  <span class="pxs_next"></span>  <span class="pxs_prev"></span> </div> <ul class="pxs_thumbnails">  <li><img src="images/thumbs/1.jpg" alt="First Image" /></li>  <li><img src="images/thumbs/2.jpg" alt="Second Image" /></li>  <li><img src="images/thumbs/3.jpg" alt="Third Image" /></li>  <li><img src="images/thumbs/4.jpg" alt="Forth Image" /></li>  <li><img src="images/thumbs/5.jpg" alt="Fifth Image" /></li>  <li><img src="images/thumbs/6.jpg" alt="Sixth Image" /></li> </ul> </div></div>

JavaScript代碼

(function($) { $.fn.parallaxSlider = function(options) { var opts = $.extend({}, $.fn.parallaxSlider.defaults, options); return this.each(function() {  var $pxs_container = $(this),  o   = $.meta ? $.extend({}, opts, $pxs_container.data()) : opts;  //the main slider  var $pxs_slider = $('.pxs_slider',$pxs_container),  //the elements in the slider  $elems  = $pxs_slider.children(),  //total number of elements  total_elems = $elems.length,  //the navigation buttons  $pxs_next = $('.pxs_next',$pxs_container),  $pxs_prev = $('.pxs_prev',$pxs_container),  //the bg images  $pxs_bg1 = $('.pxs_bg1',$pxs_container),  $pxs_bg2 = $('.pxs_bg2',$pxs_container),  $pxs_bg3 = $('.pxs_bg3',$pxs_container),  //current image  current  = 0,  //the thumbs container  $pxs_thumbnails = $('.pxs_thumbnails',$pxs_container),  //the thumbs  $thumbs  = $pxs_thumbnails.children(),  //the interval for the autoplay mode  slideshow,  //the loading image  $pxs_loading = $('.pxs_loading',$pxs_container),  $pxs_slider_wrapper = $('.pxs_slider_wrapper',$pxs_container);  //first preload all the images  var loaded = 0,  $images = $pxs_slider_wrapper.find('img');  $images.each(function(){  var $img = $(this);  $('<img/>').load(function(){   ++loaded;   if(loaded == total_elems*2){   $pxs_loading.hide();   $pxs_slider_wrapper.show();   //one images width (assuming all images have the same sizes)   var one_image_w = $pxs_slider.find('img:first').width();   /*   need to set width of the slider,   of each one of its elements, and of the   navigation buttons    */   setWidths($pxs_slider,   $elems,   total_elems,   $pxs_bg1,   $pxs_bg2,   $pxs_bg3,   one_image_w,   $pxs_next,   $pxs_prev);   /*    set the width of the thumbs    and spread them evenly    */   $pxs_thumbnails.css({    'width'  : one_image_w + 'px',    'margin-left' : -one_image_w/2 + 'px'   });   var spaces = one_image_w/(total_elems+1);   $thumbs.each(function(i){    var $this = $(this);    var left = spaces*(i+1) - $this.width()/2;    $this.css('left',left+'px');    if(o.thumbRotation){    var angle = Math.floor(Math.random()*41)-20;    $this.css({     '-moz-transform' : 'rotate('+ angle +'deg)',     '-webkit-transform' : 'rotate('+ angle +'deg)',     'transform'  : 'rotate('+ angle +'deg)'    });    }    //hovering the thumbs animates them up and down    $this.bind('mouseenter',function(){    $(this).stop().animate({top:'-10px'},100);    }).bind('mouseleave',function(){    $(this).stop().animate({top:'0px'},100);    });   });   //make the first thumb be selected   highlight($thumbs.eq(0));   //slide when clicking the navigation buttons   $pxs_next.bind('click',function(){    ++current;    if(current >= total_elems)    if(o.circular)     current = 0;    else{    --current;    return false;    }    highlight($thumbs.eq(current));    slide(current,    $pxs_slider,    $pxs_bg3,    $pxs_bg2,    $pxs_bg1,    o.speed,    o.easing,    o.easingBg);   });   $pxs_prev.bind('click',function(){    --current;    if(current < 0)    if(o.circular)     current = total_elems - 1;    else{    ++current;    return false;    }    highlight($thumbs.eq(current));    slide(current,    $pxs_slider,    $pxs_bg3,    $pxs_bg2,    $pxs_bg1,    o.speed,    o.easing,    o.easingBg);   });   /*   clicking a thumb will slide to the respective image    */   $thumbs.bind('click',function(){    var $thumb = $(this);    highlight($thumb);    //if autoplay interrupt when user clicks    if(o.auto)    clearInterval(slideshow);    current = $thumb.index();    slide(current,    $pxs_slider,    $pxs_bg3,    $pxs_bg2,    $pxs_bg1,    o.speed,    o.easing,    o.easingBg);   });   /*   activate the autoplay mode if   that option was specified    */   if(o.auto != 0){    o.circular = true;    slideshow = setInterval(function(){    $pxs_next.trigger('click');    },o.auto);   }   /*   when resizing the window,   we need to recalculate the widths of the   slider elements, based on the new windows width.   we need to slide again to the current one,   since the left of the slider is no longer correct    */   $(window).resize(function(){    w_w = $(window).width();    setWidths($pxs_slider,$elems,total_elems,$pxs_bg1,$pxs_bg2,$pxs_bg3,one_image_w,$pxs_next,$pxs_prev);    slide(current,    $pxs_slider,    $pxs_bg3,    $pxs_bg2,    $pxs_bg1,    1,    o.easing,    o.easingBg);   });   }  }).error(function(){   alert('here')  }).attr('src',$img.attr('src'));  }); }); }; //the current windows width var w_w  = $(window).width(); var slide  = function(current, $pxs_slider, $pxs_bg3, $pxs_bg2, $pxs_bg1, speed, easing, easingBg){ var slide_to = parseInt(-w_w * current); $pxs_slider.stop().animate({  left : slide_to + 'px' },speed, easing); $pxs_bg3.stop().animate({  left : slide_to/2 + 'px' },speed, easingBg); $pxs_bg2.stop().animate({  left : slide_to/4 + 'px' },speed, easingBg); $pxs_bg1.stop().animate({  left : slide_to/8 + 'px' },speed, easingBg); } var highlight = function($elem){ $elem.siblings().removeClass('selected'); $elem.addClass('selected'); } var setWidths = function($pxs_slider, $elems, total_elems, $pxs_bg1, $pxs_bg2, $pxs_bg3, one_image_w, $pxs_next, $pxs_prev){ /* the width of the slider is the windows width times the total number of elements in the slider  */ var pxs_slider_w = w_w * total_elems; $pxs_slider.width(pxs_slider_w + 'px'); //each element will have a width = windows width $elems.width(w_w + 'px'); /* we also set the width of each bg image div. The value is the same calculated for the pxs_slider  */ $pxs_bg1.width(pxs_slider_w + 'px'); $pxs_bg2.width(pxs_slider_w + 'px'); $pxs_bg3.width(pxs_slider_w + 'px'); /* both the right and left of the navigation next and previous buttons will be: windowWidth/2 - imgWidth/2 + some margin (not to touch the image borders)  */ var position_nav = w_w/2 - one_image_w/2 + 3; $pxs_next.css('right', position_nav + 'px'); $pxs_prev.css('left', position_nav + 'px'); } $.fn.parallaxSlider.defaults = { auto  : 0, //how many seconds to periodically slide the content.    //If set to 0 then autoplay is turned off. speed  : 1000,//speed of each slide animation easing  : 'jswing',//easing effect for the slide animation easingBg : 'jswing',//easing effect for the background animation circular : true,//circular slider thumbRotation : true//the thumbs will be randomly rotated }; //easeInOutExpo,easeInBack})(jQuery);

調用插件的JavaScript代碼

$(function() { var $pxs_container = $('#pxs_container'); $pxs_container.parallaxSlider();});

以上就是本文的全部內容,希望對大家學習jquery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 在线看三级 | 欧美精品一区二区三区在线播放 | 在线成人av观看 | 国外成人在线视频 | 欧美不卡视频在线观看 | xnxx 美女19 | 毛片在哪看| 9999在线视频 | 成人三级视频网站 | 蜜桃久久一区二区三区 | 亚洲男人天堂 | 成年免费大片黄在线观看岛国 | 亚洲一二三久久 | www.com香蕉 | 国产精品99久久99久久久二 | 欧美成人精品一区 | 国产毛片aaa一区二区三区视频 | 国产精品高潮99久久久久久久 | www国产成人免费观看视频 | 欧美一级成人 | 久久久久成人免费 | a视频在线免费观看 | 欧美一级特黄特色大片免费 | 久久亚洲成人网 | 色99久久 | 国产成人高潮免费观看精品 | 国产1区2| 欧美日韩大片在线观看 | 深夜小视频在线观看 | 国产午夜亚洲精品理论片大丰影院 | 久久国产中文 | 亚洲射逼| 日本不卡二区 | 国产正在播放 | 电影一级毛片 | 毛片免费看网站 | 久草最新在线 | 一级毛片免费一级 | 国产精品久久二区 | japanese末成年free| 国产成人视屏 |