zoukankan      html  css  js  c++  java
  • jquery实现的3D缩略图悬停效果

    今天我们要告诉你如何创建一些令人兴奋的3D使用CSS3和jQuery悬停效果。这一想法的灵感来自于凉爽的悬停效果,再给客户做网站的时候用的这样的效果,今天就共享出来

    在这个效果当中,我将使用的thumbails,就会发现一些更多的信息悬停。将创建一个使用jQuery的结构,将允许的图象出现折叠或弯曲,当他悬停时候。为悬停效果,我们将使用CSS 3D变换。效果如下  演示     下载

    鼠标经过时候

    看看火狐下面的效果,鼠标经过的时候展示出3D变换效果

     

    thumbnail 的DIV代码如下所示

     

     1 <div id="grid" class="main">
     2   
     3     <div class="view">
     4  
     5         <div class="view-back">
     6             <span data-icon="A">566</span>
     7             <span data-icon="B">124</span>
     8             <a href="http://www.flickr.com/photos/ag2r/5439506585/in/photostream"></a>
     9         </div>
    10  
    11         <img src="images/1.jpg" />
    12  
    13     </div>
    14  
    15     <div class="view">
    16  
    17     <!-- ... -->
    18  
    19     </div>
    20  
    21     <!-- ... -->
    22      
    23 </div>

    每个缩略图的背视图部分,我们要为每个背景图部分创建与使用JavaScript 视图的结构如下:

     1 <div class="view">
     2  
     3     <div class="view-back">
     4         <!-- ... -->
     5     </div>
     6      
     7     <div class="slice s1" style="background-image: url(images/1.jpg); ">
     8         <span class="overlay"></span>
     9          
    10         <div class="slice s2" style="background-image: url(images/1.jpg); ">
    11             <span class="overlay"></span>
    12              
    13             <div class="slice s3" style="background-image: url(images/1.jpg); ">
    14                 <span class="overlay"></span>
    15                  
    16                 <div class="slice s4" style="background-image: url(images/1.jpg); ">
    17                     <span class="overlay"></span>
    18                      
    19                     <div class="slice s5" style="background-image: url(images/1.jpg); ">
    20                         <span class="overlay"></span>
    21                     </div><!-- /s5 -->
    22                  
    23                 </div><!-- /s4 -->
    24                      
    25             </div><!-- /s3 -->
    26                  
    27         </div><!-- /s2 -->
    28              
    29     </div><!-- /s1 -->
    30      
    31 </div><!-- /view -->

    每个背景图鼠标移动的时候都会有各自的形象和作为它的背景图片,因为我们有一个背景嵌套的结构,这将使我们能够控制的他的效果。此外,我们将添加一个覆盖跨度,javascript代码如下

     1 $.fn.hoverfold = function( args ) {
     2  
     3     this.each( function() {
     4      
     5         $( this ).children( '.view' ).each( function() {
     6          
     7             var $item   = $( this ),
     8                 img     = $item.children( 'img' ).attr( 'src' ),
     9                 struct  = '<div class="slice s1">';
    10                     struct  +='<div class="slice s2">';
    11                         struct  +='<div class="slice s3">';
    12                             struct  +='<div class="slice s4">';
    13                                 struct  +='<div class="slice s5">';
    14                                 struct  +='</div>';
    15                             struct  +='</div>';
    16                         struct  +='</div>';
    17                     struct  +='</div>';
    18                 struct  +='</div>';
    19                  
    20             var $struct = $( struct );
    21              
    22             $item.find( 'img' ).remove().end().append( $struct ).find( 'div.slice' ).css( 'background-image', 'url(' + img + ')' ).prepend( $( '<span class="overlay" ></span>' ) );
    23              
    24         } );
    25          
    26     });
    27  
    28 };

    CSS代码如下

     1 .view {
     2      316px;
     3     height: 216px;
     4     margin: 10px;
     5     float: left;
     6     position: relative;
     7     border: 8px solid #fff;
     8     box-shadow: 1px 1px 2px rgba(0,0,0,0.05);
     9     background: #333;
    10     perspective: 500px;
    11 }

    3D过度效果CSS代码

    1 .view .slice{
    2      60px;
    3     height: 100%;
    4     z-index: 100;
    5     transform-style: preserve-3d;
    6     transform-origin: left center;
    7     transition: transform 150ms ease-in-out;
    8      
    9 }

    描述部分的CSS代码

    1 .view div.view-back{
    2      50%;
    3     height: 100%;
    4     position: absolute;
    5     right: 0;
    6     background: #666;
    7     z-index: 0;
    8 }

    前台风格跨度的代码

     1 .view-back span {
     2     display: block;
     3     float: right;
     4     padding: 5px 20px 5px;
     5      100%;
     6     text-align: right;
     7     font-size: 16px;
     8     color: rgba(255,255,255,0.6);
     9 }
    10  
    11 .view-back span:first-child {
    12     padding-top: 20px;
    13 }
    14  
    15 .view-back a {
    16     display: bock;
    17     font-size: 18px;
    18     color: rgba(255,255,255,0.4);
    19     position: absolute;
    20     right: 15px;
    21     bottom: 15px;
    22     border: 2px solid rgba(255,255,255,0.3);
    23     border-radius: 50%;
    24      30px;
    25     height: 30px;
    26     line-height: 22px;
    27     text-align: center;
    28     font-weight: 700;
    29 }
    30  
    31 .view-back a:hover {
    32     color: #fff;
    33     border-color: #fff;
    34 }

    有的浏览器不支持3D,我们需要额外的定义这个效果

    .view {
        overflow: hidden;
    }
     
    .view:hover img {
        left: -85px;
    }
     
    .view div.view-back {
        background: #666;
    }

     

     

     

  • 相关阅读:
    JAVA-初步认识-常用对象API(StringBuffer类-插入删除查找修改)
    JAVA-初步认识-常用对象API(StringBuffer类-特点添加功能)
    JAVA-初步认识-常用对象API(String类-练习1)
    JAVA-初步认识-常用对象API(String类-常见功能-intern方法)
    JAVA-初步认识-常用对象API(String类-常见功能-比较)
    JAVA-初步认识-常用对象API(String类-常见功能-判断)
    JAVA-初步认识-常用对象API(String类-常见功能-转换)
    JAVA-初步认识-常用对象API(String类-常见功能-获取-2)
    arcengine导出复本
    PC软件分享
  • 原文地址:https://www.cnblogs.com/58top/p/2597187.html
Copyright © 2011-2022 走看看