jQuery技术

分享使用jQuery开发的圆形页面元素悬浮和点击触发教程(2)

字号+ 作者:H5之家 来源:H5之家 2017-04-11 12:02 我要评论( )

} else if( distance circlePos.radius el.data('inside') ) { // inside element / outside circle el.css( 'cursor', 'default' ).data( 'inside', false ); _self.options.onMouseLeave( _self.$el ); } } }); }

      }
      else if( distance > circlePos.radius && el.data('inside') ) {
       // inside element / outside circle
       el.css( 'cursor', 'default' ).data( 'inside', false );
       _self.options.onMouseLeave( _self.$el );
      }
     }
    }); 
   },
   'mouseleave.circlemouse' : function( event ) {
    var el  = $(event.target);
    el.off('mousemove');
    if( el.data( 'inside' ) ) {
     el.data( 'inside', false );
     _self.options.onMouseLeave( _self.$el );
    }
   },
   'click.circlemouse'   : function( event ) {
    // allow the click only when inside the circle
    var el  = $(event.target);
    if( !el.data( 'inside' ) )
     return false;
    else
     _self.options.onClick( _self.$el );
   }
  });
 },
 destroy    : function() {
  this.$el.unbind('.circlemouse').removeData('inside').removeData('cursor');
 }
};

当我们的鼠标进入圆形区域对应的外部矩形边框后,我们将绑定mousemove方法到对应元素。然后我们计算鼠标离元素中心的距离。如果距离大于圆形半径,那么我们就知道不需要悬浮,否则,就触发自定义的‘mouseenter’事件。

分享一个使用jQuery开发的圆形页面元素悬浮和点击触发教程 gbin1.com

同时如果出于圆内我们也可以允许触发鼠标的点击事件。

在我们的例子中我们可以针对任何元素执行我们的插件。在这个实例中,我们添加hover的class到‘mouseenter’并且在‘mouseleave’中删除掉。

$('#circle').circlemouse({
 onMouseEnter : function( el ) {
  el.addClass('ec-circle-hover');
 },
 onMouseLeave : function( el ) {
  el.removeClass('ec-circle-hover');
 },
 onClick   : function( el ) {
  alert('clicked');
 }
});

记住正常的伪类悬浮方式也需要定义到noscript.css中,这样如果javascript被禁用后,依然可以实现悬浮,虽然不如JS实现的完美。

via:tympanus

来源:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • jQuery插件开发学习笔记

    jQuery插件开发学习笔记

    2017-03-31 08:01

  • JQuery插件的写法和规范

    JQuery插件的写法和规范

    2017-03-30 15:08

  • 10 个技巧助你写出卓越的 jQuery 插件

    10 个技巧助你写出卓越的 jQuery 插件

    2017-03-25 11:00

  • jquery滚动条插件slimScroll

    jquery滚动条插件slimScroll

    2017-02-28 09:03

网友点评
=