jQuery鼠标悬停方向感知

jQuery鼠标悬停方向感知

添加时间:2021-02-26 13:15:40
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:图形
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

一款jQuery鼠标悬停方向感知的特效,鼠标在任意的方块内移动时,自动感知鼠标的方向并出现一个黑色的矩形沿着鼠标对应的放滑入,鼠标离开矩形时黑色的矩形则滑出,可以感知鼠标移动的任意方向。
jQuery鼠标悬停方向感知
分类:html/css > 图形 难易:初级

页面的head部分,简单设置页面样式,并引入jQuery库,代码如下:

<style type="text/css">
    *{
        margin:0;
        padding:0;
    }
</style>
<script type="text/javascript" src="js/jquery.min.js"></script>

接着设置好鼠标悬停的事件响应,给感知的黑色方块定义一下属性样式等,部分代码如下:

$.fn.wear=function(options){
        //判断参数是否合法
        if(!isValid(options)){
            alert('参数不合法,请重新设置!');
            return this;
        }
        var opts = $.extend({},defaults,options)//覆盖默认参数
        , Num = opts.colNum*opts.rowNum, Tag = opts.tag, Sty = opts.style,tagSty = opts.tagStyle,boxWidth = this.width(),boxHeight=this.height();
        //返回对象 链式操作
        return this.each(function(index,ele){
            var _this = $(this);
            for(var i=0;i<Num;i++){
                var obj = $(Tag);//定义内部块标签
                
                //自定义标签内容
                var makeup = obj.html();
                makeup = $.fn.wear.format(makeup);
                Sty.border=Sty.border||'1px solid #fff';
                var borderW = Sty.border.match(/\d+px/g)[0].match(/\d+/g)[0];
                
                obj.html(makeup).css({
                    'border':Sty.border,
                    'width':boxWidth/opts.colNum-2*Sty.margin-2*Sty.padding-2*borderW,
                    'height':boxHeight/opts.rowNum-2*Sty.margin-2*Sty.padding-2*borderW,
                    'background':Sty.background,
                    'overflow':'hidden',
                    'float':'left',
                    'position':'relative',
                    'margin':Sty.margin,
                    'padding':Sty.padding,
                    'opacity':Sty.opacity,
                    'border-radius':Sty.radius
                });
                
                var mask_tag = $('<i>');//定义穿墙层
                mask_tag.addClass('mask');
                var makeup2 = mask_tag.html();
                makeup2 = $.fn.wear.formatMask(makeup2);
                mask_tag.html(makeup2).css({
                    'font-style':'normal',
                    'width':obj.outerWidth(),
                    'height':obj.outerHeight(),
                    'background':tagSty.background,
                    'position':'absolute',
                    'left':-borderW-obj.outerWidth(),
                    'top':-borderW,
                    'opacity':tagSty.opacity,
                    'border-radius':Sty.radius
                });
                obj.append(mask_tag);
                _this.append(obj);

            }
            _this.children().each(function(){
                __this = $(this);
                hoverGo(__this.get(0),{w:obj.outerWidth(),h:obj.outerHeight(),time:opts.time});
            })
        });
    };
    //设置默认参数
    var defaults={
        style:{
            margin:0,
            padding:0,
            border:'',
            radius:0,
            opacity:1,
            background:'#ccc'
        },
        colNum:4,
        rowNum:4,
        tag:'<div>',
        tagStyle:{
            
            opacity:0.6,
            background:'#000'
        },
        time:700
    };
    //公共的格式化方法
    $.fn.wear.format = function(str){
        return str;
    }
    $.fn.wear.formatMask = function(str){
        return str;
    }
    //公共方法
    function isValid(options){
        return !options||(options&&typeof options ==='object')?true:false;
    }

页面的body部分,设置一个div容器用来展示效果,代码如下:

<div id="wear" style="width:600px;height:600px;margin:0px auto;"></div>
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:jQuery鼠标悬停方向感知

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.098852s