基于Jquery和html5实现炫酷的3D焦点图动画_jquery

这款HTML5焦点图不仅可以手动点击按钮切换图片,而且还支持自动切换图片,使用起来也相当方便。如果你需要在网站中展示产品图片,那么这款焦点图插件非常适合你。

在线演示源码下载

HTML代码

<section id="dg-container" class="dg-container">
 <div class="dg-wrapper">
 <a href="#"><img src="images/1.jpg" alt="image01"><div>http://www.colazionedamichy.it/</div></a>
 <a href="#"><img src="images/2.jpg" alt="image02"><div>http://www.percivalclo.com/</div></a>
 <a href="#"><img src="images/3.jpg" alt="image03"><div>http://www.wanda.net/fr</div></a>
 <a href="#"><img src="images/4.jpg" alt="image04"><div>http://lifeingreenville.com/</div></a>
 <a href="#"><img src="images/5.jpg" alt="image05"><div>http://circlemeetups.com/</div></a>
 <a href="#"><img src="images/6.jpg" alt="image06"><div>http://www.castirondesign.com/</div></a>
 <a href="#"><img src="images/7.jpg" alt="image07"><div>http://www.foundrycollective.com/</div></a>
 <a href="#"><img src="images/8.jpg" alt="image08"><div>http://www.mathiassterner.com/home</div></a>
 <a href="#"><img src="images/9.jpg" alt="image09"><div>http://learnlakenona.com/</div></a>
 <a href="#"><img src="images/10.jpg" alt="image10"><div>http://www.neighborhood-studio.com/</div></a>
 <a href="#"><img src="images/11.jpg" alt="image11"><div>http://www.beckindesign.com/</div></a>
 <a href="#"><img src="images/12.jpg" alt="image12"><div>http://kicksend.com/</div></a>
 </div>
 <nav>
 <span class="dg-prev"><</span>
 <span class="dg-next">></span>
 </nav>
</section>

CSS代码

.dg-container{
 width: 100%;
 height: 450px;
 position: relative;
}
.dg-wrapper{
 width: 481px;
 height: 316px;
 margin: 0 auto;
 position: relative;
 -webkit-transform-style: preserve-3d;
 -moz-transform-style: preserve-3d;
 -o-transform-style: preserve-3d;
 -ms-transform-style: preserve-3d;
 transform-style: preserve-3d;
 -webkit-perspective: 1000px;
 -moz-perspective: 1000px;
 -o-perspective: 1000px;
 -ms-perspective: 1000px;
 perspective: 1000px;
}
.dg-wrapper a{
 width: 482px;
 height: 316px;
 display: block;
 position: absolute;
 left: 0;
 top: 0;
 background: transparent url(../images/browser.png) no-repeat top left;
 box-shadow: 0px 10px 20px rgba(0,0,0,0.3);
}
.dg-wrapper a.dg-transition{
 -webkit-transition: all 0.5s ease-in-out;
 -moz-transition: all 0.5s ease-in-out;
 -o-transition: all 0.5s ease-in-out;
 -ms-transition: all 0.5s ease-in-out;
 transition: all 0.5s ease-in-out;
}
.dg-wrapper a img{
 display: block;
 padding: 41px 0px 0px 1px;
}
.dg-wrapper a div{
 font-style: italic;
 text-align: center;
 line-height: 50px;
 text-shadow: 1px 1px 1px rgba(255,255,255,0.5);
 color: #333;
 font-size: 16px;
 width: 100%;
 bottom: -55px;
 display: none;
 position: absolute;
}
.dg-wrapper a.dg-center div{
 display: block;
}
.dg-container nav{
 width: 58px;
 position: absolute;
 z-index: 1000;
 bottom: 40px;
 left: 50%;
 margin-left: -29px;
}
.dg-container nav span{
 text-indent: -9000px;
 float: left;
 cursor:pointer;
 width: 24px;
 height: 25px;
 opacity: 0.8;
 background: transparent url(../images/arrows.png) no-repeat top left;
}
.dg-container nav span:hover{
 opacity: 1;
}
.dg-container nav span.dg-next{
 background-position: top right;
 margin-left: 10px;
}

JavaScript代码

/**
 * jquery.gallery.js
 * Copyright 2011, Pedro Botelho / Codrops
 * Free to use under the MIT license.
 *
 * Date: Mon Jan 30 2012
 */

(function( $, undefined ) {

 /*
 * Gallery object.
 */
 $.Gallery   = function( options, element ) {

 this.$el = $( element );
 this._init( options );

 };

 $.Gallery.defaults  = {
 current : 0, // index of current item
 autoplay : false,// slideshow on / off
 interval : 2000 // time between transitions
  };

 $.Gallery.prototype = {
 _init   : function( options ) {

  this.options  = $.extend( true, {}, $.Gallery.defaults, options );

  // support for 3d / 2d transforms and transitions
  this.support3d = Modernizr.csstransforms3d;
  this.support2d = Modernizr.csstransforms;
  this.supportTrans = Modernizr.csstransitions;

  this.$wrapper = this.$el.find('.dg-wrapper');

  this.$items  = this.$wrapper.children();
  this.itemsCount = this.$items.length;

  this.$nav  = this.$el.find('nav');
  this.$navPrev = this.$nav.find('.dg-prev');
  this.$navNext = this.$nav.find('.dg-next');

  // minimum of 3 items
  if( this.itemsCount < 3 ) {

  this.$nav.remove();
  return false;

  } 

  this.current = this.options.current;

  this.isAnim  = false;

  this.$items.css({
  'opacity' : 0,
  'visibility': 'hidden'
  });

  this._validate();

  this._layout();

  // load the events
  this._loadEvents();

  // slideshow
  if( this.options.autoplay ) {

  this._startSlideshow();

  }

 },
 _validate  : function() {

  if( this.options.current < 0 || this.options.current > this.itemsCount - 1 ) {

  this.current = 0;

  } 

 },
 _layout  : function() {

  // current, left and right items
  this._setItems();

  // current item is not changed
  // left and right one are rotated and translated
  var leftCSS, rightCSS, currentCSS;

  if( this.support3d && this.supportTrans ) {

  leftCSS = {
   '-webkit-transform' : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
   '-moz-transform' : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
   '-o-transform' : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
   '-ms-transform' : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
   'transform'  : 'translateX(-350px) translateZ(-200px) rotateY(45deg)'
  };

  rightCSS = {
   '-webkit-transform' : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
   '-moz-transform' : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
   '-o-transform' : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
   '-ms-transform' : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
   'transform'  : 'translateX(350px) translateZ(-200px) rotateY(-45deg)'
  };

  leftCSS.opacity = 1;
  leftCSS.visibility = 'visible';
  rightCSS.opacity = 1;
  rightCSS.visibility = 'visible';

  }
  else if( this.support2d && this.supportTrans ) {

  leftCSS = {
   '-webkit-transform' : 'translate(-350px) scale(0.8)',
   '-moz-transform' : 'translate(-350px) scale(0.8)',
   '-o-transform' : 'translate(-350px) scale(0.8)',
   '-ms-transform' : 'translate(-350px) scale(0.8)',
   'transform'  : 'translate(-350px) scale(0.8)'
  };

  rightCSS = {
   '-webkit-transform' : 'translate(350px) scale(0.8)',
   '-moz-transform' : 'translate(350px) scale(0.8)',
   '-o-transform' : 'translate(350px) scale(0.8)',
   '-ms-transform' : 'translate(350px) scale(0.8)',
   'transform'  : 'translate(350px) scale(0.8)'
  };

  currentCSS = {
   'z-index'  : 999
  };

  leftCSS.opacity = 1;
  leftCSS.visibility = 'visible';
  rightCSS.opacity = 1;
  rightCSS.visibility = 'visible';

  }

  this.$leftItm.css( leftCSS || {} );
  this.$rightItm.css( rightCSS || {} );

  this.$currentItm.css( currentCSS || {} ).css({
  'opacity' : 1,
  'visibility': 'visible'
  }).addClass('dg-center');

 },
 _setItems  : function() {

  this.$items.removeClass('dg-center');

  this.$currentItm = this.$items.eq( this.current );
  this.$leftItm = ( this.current === 0 ) ? this.$items.eq( this.itemsCount - 1 ) : this.$items.eq( this.current - 1 );
  this.$rightItm = ( this.current === this.itemsCount - 1 ) ? this.$items.eq( 0 ) : this.$items.eq( this.current + 1 );

  if( !this.support3d && this.support2d && this.supportTrans ) {

  this.$items.css( 'z-index', 1 );
  this.$currentItm.css( 'z-index', 999 );

  }

  // next & previous items
  if( this.itemsCount > 3 ) {

  // next item
  this.$nextItm = ( this.$rightItm.index() === this.itemsCount - 1 ) ? this.$items.eq( 0 ) : this.$rightItm.next();
  this.$nextItm.css( this._getCoordinates('outright') );

  // previous item
  this.$prevItm = ( this.$leftItm.index() === 0 ) ? this.$items.eq( this.itemsCount - 1 ) : this.$leftItm.prev();
  this.$prevItm.css( this._getCoordinates('outleft') );

  }

 },
 _loadEvents  : function() {

  var _self = this;

  this.$navPrev.on( 'click.gallery', function( event ) {

  if( _self.options.autoplay ) {

   clearTimeout( _self.slideshow );
   _self.options.autoplay = false;

  }

  _self._navigate('prev');
  return false;

  });

  this.$navNext.on( 'click.gallery', function( event ) {

  if( _self.options.autoplay ) {

   clearTimeout( _self.slideshow );
   _self.options.autoplay = false;

  }

  _self._navigate('next');
  return false;

  });

  this.$wrapper.on( 'webkitTransitionEnd.gallery transitionend.gallery OTransitionEnd.gallery', function( event ) {

  _self.$currentItm.addClass('dg-center');
  _self.$items.removeClass('dg-transition');
  _self.isAnim = false;

  });

 },
 _getCoordinates : function( position ) {

  if( this.support3d && this.supportTrans ) {

  switch( position ) {
   case 'outleft':
   return {
    '-webkit-transform' : 'translateX(-450px) translateZ(-300px) rotateY(45deg)',
    '-moz-transform' : 'translateX(-450px) translateZ(-300px) rotateY(45deg)',
    '-o-transform' : 'translateX(-450px) translateZ(-300px) rotateY(45deg)',
    '-ms-transform' : 'translateX(-450px) translateZ(-300px) rotateY(45deg)',
    'transform'  : 'translateX(-450px) translateZ(-300px) rotateY(45deg)',
    'opacity'  : 0,
    'visibility' : 'hidden'
   };
   break;
   case 'outright':
   return {
    '-webkit-transform' : 'translateX(450px) translateZ(-300px) rotateY(-45deg)',
    '-moz-transform' : 'translateX(450px) translateZ(-300px) rotateY(-45deg)',
    '-o-transform' : 'translateX(450px) translateZ(-300px) rotateY(-45deg)',
    '-ms-transform' : 'translateX(450px) translateZ(-300px) rotateY(-45deg)',
    'transform'  : 'translateX(450px) translateZ(-300px) rotateY(-45deg)',
    'opacity'  : 0,
    'visibility' : 'hidden'
   };
   break;
   case 'left':
   return {
    '-webkit-transform' : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
    '-moz-transform' : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
    '-o-transform' : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
    '-ms-transform' : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
    'transform'  : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
    'opacity'  : 1,
    'visibility' : 'visible'
   };
   break;
   case 'right':
   return {
    '-webkit-transform' : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
    '-moz-transform' : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
    '-o-transform' : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
    '-ms-transform' : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
    'transform'  : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
    'opacity'  : 1,
    'visibility' : 'visible'
   };
   break;
   case 'center':
   return {
    '-webkit-transform' : 'translateX(0px) translateZ(0px) rotateY(0deg)',
    '-moz-transform' : 'translateX(0px) translateZ(0px) rotateY(0deg)',
    '-o-transform' : 'translateX(0px) translateZ(0px) rotateY(0deg)',
    '-ms-transform' : 'translateX(0px) translateZ(0px) rotateY(0deg)',
    'transform'  : 'translateX(0px) translateZ(0px) rotateY(0deg)',
    'opacity'  : 1,
    'visibility' : 'visible'
   };
   break;
  };

  }
  else if( this.support2d && this.supportTrans ) {

  switch( position ) {
   case 'outleft':
   return {
    '-webkit-transform' : 'translate(-450px) scale(0.7)',
    '-moz-transform' : 'translate(-450px) scale(0.7)',
    '-o-transform' : 'translate(-450px) scale(0.7)',
    '-ms-transform' : 'translate(-450px) scale(0.7)',
    'transform'  : 'translate(-450px) scale(0.7)',
    'opacity'  : 0,
    'visibility' : 'hidden'
   };
   break;
   case 'outright':
   return {
    '-webkit-transform' : 'translate(450px) scale(0.7)',
    '-moz-transform' : 'translate(450px) scale(0.7)',
    '-o-transform' : 'translate(450px) scale(0.7)',
    '-ms-transform' : 'translate(450px) scale(0.7)',
    'transform'  : 'translate(450px) scale(0.7)',
    'opacity'  : 0,
    'visibility' : 'hidden'
   };
   break;
   case 'left':
   return {
    '-webkit-transform' : 'translate(-350px) scale(0.8)',
    '-moz-transform' : 'translate(-350px) scale(0.8)',
    '-o-transform' : 'translate(-350px) scale(0.8)',
    '-ms-transform' : 'translate(-350px) scale(0.8)',
    'transform'  : 'translate(-350px) scale(0.8)',
    'opacity'  : 1,
    'visibility' : 'visible'
   };
   break;
   case 'right':
   return {
    '-webkit-transform' : 'translate(350px) scale(0.8)',
    '-moz-transform' : 'translate(350px) scale(0.8)',
    '-o-transform' : 'translate(350px) scale(0.8)',
    '-ms-transform' : 'translate(350px) scale(0.8)',
    'transform'  : 'translate(350px) scale(0.8)',
    'opacity'  : 1,
    'visibility' : 'visible'
   };
   break;
   case 'center':
   return {
    '-webkit-transform' : 'translate(0px) scale(1)',
    '-moz-transform' : 'translate(0px) scale(1)',
    '-o-transform' : 'translate(0px) scale(1)',
    '-ms-transform' : 'translate(0px) scale(1)',
    'transform'  : 'translate(0px) scale(1)',
    'opacity'  : 1,
    'visibility' : 'visible'
   };
   break;
  };

  }
  else {

  switch( position ) {
   case 'outleft' :
   case 'outright' :
   case 'left' :
   case 'right' :
   return {
    'opacity'  : 0,
    'visibility' : 'hidden'
   };
   break;
   case 'center' :
   return {
    'opacity'  : 1,
    'visibility' : 'visible'
   };
   break;
  };

  }

 },
 _navigate  : function( dir ) {

  if( this.supportTrans && this.isAnim )
  return false;

  this.isAnim = true;

  switch( dir ) {

  case 'next' :

   this.current = this.$rightItm.index();

   // current item moves left
   this.$currentItm.addClass('dg-transition').css( this._getCoordinates('left') );

   // right item moves to the center
   this.$rightItm.addClass('dg-transition').css( this._getCoordinates('center') ); 

   // next item moves to the right
   if( this.$nextItm ) {

   // left item moves out
   this.$leftItm.addClass('dg-transition').css( this._getCoordinates('outleft') );

   this.$nextItm.addClass('dg-transition').css( this._getCoordinates('right') );

   }
   else {

   // left item moves right
   this.$leftItm.addClass('dg-transition').css( this._getCoordinates('right') );

   }
   break;

  case 'prev' :

   this.current = this.$leftItm.index();

   // current item moves right
   this.$currentItm.addClass('dg-transition').css( this._getCoordinates('right') );

   // left item moves to the center
   this.$leftItm.addClass('dg-transition').css( this._getCoordinates('center') );

   // prev item moves to the left
   if( this.$prevItm ) {

   // right item moves out
   this.$rightItm.addClass('dg-transition').css( this._getCoordinates('outright') );

   this.$prevItm.addClass('dg-transition').css( this._getCoordinates('left') );

   }
   else {

   // right item moves left
   this.$rightItm.addClass('dg-transition').css( this._getCoordinates('left') );

   }
   break; 

  };

  this._setItems();

  if( !this.supportTrans )
  this.$currentItm.addClass('dg-center');

 },
 _startSlideshow : function() {

  var _self = this;

  this.slideshow = setTimeout( function() {

  _self._navigate( 'next' );

  if( _self.options.autoplay ) {

   _self._startSlideshow();

  }

  }, this.options.interval );

 },
 destroy  : function() {

  this.$navPrev.off('.gallery');
  this.$navNext.off('.gallery');
  this.$wrapper.off('.gallery');

 }
 };

 var logError  = function( message ) {
 if ( this.console ) {
  console.error( message );
 }
 };

 $.fn.gallery  = function( options ) {

 if ( typeof options === 'string' ) {

  var args = Array.prototype.slice.call( arguments, 1 );

  this.each(function() {

  var instance = $.data( this, 'gallery' );

  if ( !instance ) {
   logError( "cannot call methods on gallery prior to initialization; " +
   "attempted to call method '" + options + "'" );
   return;
  }

  if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) {
   logError( "no such method '" + options + "' for gallery instance" );
   return;
  }

  instance[ options ].apply( instance, args );

  });

 }
 else {

  this.each(function() {

  var instance = $.data( this, 'gallery' );
  if ( !instance ) {
   $.data( this, 'gallery', new $.Gallery( options, this ) );
  }
  });

 }

 return this;

 };

})( jQuery );

希望本文所述对大家学习javascript程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery
, html5
, 3d
焦点图
jquery 焦点图 动画、jquery实现焦点图、jquery实现动画效果、jquery 动画实现原理、jquery实现循环动画,以便于您获取更多的相关知识。

时间: 2024-10-01 22:36:00

基于Jquery和html5实现炫酷的3D焦点图动画_jquery的相关文章

酷炫jQuery全屏3D焦点图动画效果_jquery

这又是一款很不错的jQuery焦点图动画,它的特点是整个焦点图基本是全屏显示的,非常大气,而且图片的倾斜也给整个焦点图3D立体的视觉效果,而且焦点图的图片切换非常流畅,相当实用. HTML代码: <div class="wrapper"> </div> <div id="pxs_container" class="pxs_container"> <div class="pxs_bg"&

基于jQuery实现的图片切换焦点图整理_jquery

1.js实现的七屏百叶窗焦点图动态特效 可以实现可以同时显示很多找竖行百叶窗效果的缩略图,代码,鼠标悬浮在一张缩略图上时,该图片就在原位置变亮并慢慢展开,同时两边的缩略图就往两边缩小靠近,需要此种焦点图效果的朋友们可以前来下载使用. 在线演示 源码下载 2.jQuery+CSS3实现的多种图片切换方式简易焦点图 今天要来分享一款简易的jQuery+CSS3焦点图应用,这款焦点图应用的图片切换方式非常丰富,而且焦点图的切换按钮比较小,图片篇幅占据比较大,因此总体比较大气. 在线演示 源码下载 3.

javascript+HTML5自定义元素播放焦点图动画_javascript技巧

这是一款基于HTML5的焦点图动画,它和其他焦点图不同的地方在于,它播放的不仅仅是图片,而是可以自定义控制的网页元素.它不仅在图片间切换有过渡动画效果,而且在切换时图片中的元素也将出现动画效果,比如图中的文字移动.打散.重新组合等,这款HTML5动画图片播放器算得上是高端大气上档次. 效果图: HTML代码 <div class="parallax-bg" id="slider-wrap"> <div class="slider para

jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)_jquery

这是一款基于jQuery的百叶窗焦点图动画,和之前介绍的CSS3百叶窗焦点图动画不同的是,它的兼容性更好,实用性更强,因为它是基于纯jQuery的,基本上所有浏览器都能够支持.焦点图的图片切换动画是百叶窗的动画方式,但也有几种不同的百叶窗动画,因此也不会觉得单调. 在线演示     源码下载 HTML代码 <div id="slider"> <img src="images/1.jpg" alt="1" title="

jQuery实现带水平滑杆的焦点图动画插件_jquery

这是一款很实用的jQuery焦点图动画插件,跟其他jQuery焦点图插件不同的是,它带有一个水平的滑杆,你可以通过滑动滑杆实现图片的切换,也可以通过点击图片来切换.这款焦点图是纯jQuery实现的,兼容性和实用性都还可以,而且也比较简单,很容易集成到需要的项目中去. 效果展示如下所示:   HTML代码 <div id="wrapper"> <ul id="flip"> <li title="The first image&q

jQuery实现仿Alipay支付宝首页全屏焦点图切换特效_jquery

本文实例讲述了jQuery实现仿Alipay支付宝首页全屏焦点图切换特效.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml

基于Jquery和html5的7款个性化地图插件_jquery

1.HTML5世界地图 划分世界区域并显示国家名 这是一款基于HTML5的世界地图应用,它的特点是可以将地图中的各个国家区域进行划分,鼠标滑过时即可显示该区域对应的国家名称,你也可以对弹出的标签进行自定义文字和自定义样式.   在线演示       源码下载 2.jQuery矢量SVG地图插件JVectorMap JVectorMap是一款基于jQuery的矢量地图插件,它是基于SVG结构的,和其他jQuery地图插件不同的是,jVectorMap是 矢量地图,但是它同样支持地图缩放和地图平面移

JQuery和CSS打造炫酷动感菜单

本教程将分步讲解如何使用JQuery和CSS打造一个炫酷动感菜单.jQuery的"write less, do more"的特性可谓是家喻户晓,即使没有很丰富JS编程经验的人,也可以通过其提供的API很快学会如何使用,当然,如果您经验丰富,我还是建议您可以理解jQuery各主要函数的实现原理,其他不说了,直接看看如何用它来实现菜单神奇的效果吧 您可以点击查看演示,也可以点击下载源代码. Step1 - HTML结构 看一下菜单的HTML代码,跟平常的菜单代码没有什么区别:  <d

photoshop教程:制作炫酷街舞姿势图

这是一个高级教程,我的意思是没有技术很难做到,这项工作需要很高的艺术鉴赏力,运用一些颜色的经验和投放阴影的知识. 今天,我要给大家展示制作迷人的光线效果以及在工作中运用它们创作炫酷的图片.让我们开始吧! 来源活力盒子 最终效果预览 教程的细节 软件:dobe Photoshop CS3 难度:高级 准备 这是一个高级教程,我的意思是没有技术很难做到,这项工作需要很高的艺术鉴赏力,运用一些颜色的经验和投放阴影的知识.因此,我不推荐初学者做这个教程.我将跳过基本指南直接进入主要问题.基本上,我会教大