图片/图形

jQuery+css3方向感知鼠标滑过图片遮罩效果

阿里云


这款 jquery 和 css3 方向感知鼠标滑过图片遮罩效果将图片以网格的方式排列,鼠标滑过图片时,图片上出现遮罩,并能感知鼠标的方向,使图片遮罩层在图片间穿梭。

HTML 代码

  1. <ul id="da-thumbs" class="da-thumbs">
  2.     <li>
  3.         <a href="http://www.htmleaf.com/">
  4.             <img src="images/7.jpg" />
  5.             <div><span>Natalie & Justin Cleaning by Justin Younger</span></div>
  6.         </a>
  7.     </li>
  8.     <li>
  9.         <!-- ... -->
  10.     </li>
  11.     <!-- ... -->
  12. </ul>
也想出现在这里?联系我们
创客主机

无序列表要做成相对定位并且左浮动,图片描述(遮罩层)使用绝对定位。

  1. .da-thumbs li {
  2.     float: left;
  3.     margin: 5px;
  4.     background: #fff;
  5.     padding: 8px;
  6.     position: relative;
  7.     box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  8. }
  9. .da-thumbs li a,
  10. .da-thumbs li a img {
  11.     display: block;
  12.     position: relative;
  13. }
  14. .da-thumbs li a {
  15.     overflow: hidden;
  16. }
  17. .da-thumbs li a div {
  18.     position: absolute;
  19.     background: rgba(75,75,75,0.7);
  20.     width: 100%;
  21.     height: 100%;
  22. }

核心 javascript 部分代码:为列表中的每个元素绑定“mouseenter”和“mouseleave”事件,并通过 _getDir 函数获取鼠标移入移出的方向。

  1. this.$el.on( 'mouseenter.hoverdir, mouseleave.hoverdir', function( event ) {  
  2.     var $el = $( this ),
  3.         $hoverElem = $el.find( 'div' ),
  4.         direction = self._getDir( $el, { x : event.pageX, y : event.pageY } ),
  5.         styleCSS = self._getStyle( direction ); 
  6.     if( event.type === 'mouseenter' ) {       
  7.         $hoverElem.hide().css( styleCSS.from );
  8.         clearTimeout( self.tmhover );
  9.         self.tmhover = setTimeout( function() {          
  10.             $hoverElem.show( 0, function() {               
  11.                 var $el = $( this );
  12.                 if( self.support ) {
  13.                     $el.css( 'transition', self.transitionProp );
  14.                 }
  15.                 self._applyAnimation( $el, styleCSS.to, self.options.speed );
  16.             } );
  17.         }, self.options.hoverDelay );     
  18.     }
  19.     else {   
  20.         if( self.support ) {
  21.             $hoverElem.css( 'transition', self.transitionProp );
  22.         }
  23.         clearTimeout( self.tmhover );
  24.         self._applyAnimation( $hoverElem, styleCSS.from, self.options.speed );    
  25.     }     
  26. } );

jQuery+css3 方向感知鼠标滑过图片遮罩效果

已有 328 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!