jQuery奇妙的图片遮罩层效果

jQuery奇妙的图片遮罩层效果

添加时间:2021-03-12 10:00:04
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:遮罩层
  • 模板颜色模板颜色:中级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

鼠标悬浮在每一张图片时,阴影层会以动画方式显示出来。而且背景阴影层上方可输入标题或文字。更多图片遮罩层效果:https://jy.tp.yuanmeng.life/js/207.html

分类:图片代码 > 遮罩层 难易:中级
// 修正FF浏览器兼容
function getOffset(e) {
    var target = e.target;
    if (target.offsetLeft == undefined) {
        target = target.parentNode;
    }
    var pageCoord = getPageCoord(target);
    var eventCoord = {
        x: window.pageXOffset + e.clientX,
        y: window.pageYOffset + e.clientY
    };
    var offset = {
        offsetX: eventCoord.x - pageCoord.x,
        offsetY: eventCoord.y - pageCoord.y
    };
    return offset;
}

function getPageCoord(element) {
    var coord = {
        x: 0,
        y: 0
    };
    while (element) {
        coord.x += element.offsetLeft;
        coord.y += element.offsetTop;
        element = element.offsetParent;
    }
    return coord;
}

$(document).ready(function() {

    $(".items .img").hover(function(e) {

        var _this = $(this), //闭包
                _desc = _this.find(".desc").stop(true),
                width = _this.width(), //取得元素宽
                height = _this.height(), //取得元素高
                left = (e.offsetX == undefined) ? getOffset(e).offsetX : e.offsetX, //从鼠标位置,得到左边界,利用修正ff兼容的方法
                top = (e.offsetY == undefined) ? getOffset(e).offsetY : e.offsetY, //得到上边界
                right = width - left, //计算出右边界
                bottom = height - top, //计算出下边界
                rect = {}, //坐标对象,用于执行对应方法。
                _min = Math.min(left, top, right, bottom), //得到最小值
                _out = e.type == "mouseleave", //是否是离开事件
                spos = {}; //起始位置

        rect[left] = function(epos) { //鼠从标左侧进入和离开事件
            spos = {"left": -width, "top": 0};
            if (_out) {
                _desc.animate(spos, "fast"); //从左侧离开
            } else {
                _desc.css(spos).animate(epos, "fast"); //从左侧进入
            }
        };

        rect[top] = function(epos) { //鼠从标上边界进入和离开事件
            spos = {"top": -height, "left": 0};
            if (_out) {
                _desc.animate(spos, "fast"); //从上面离开
            } else {
                _desc.css(spos).animate(epos, "fast"); //从上面进入
            }
        };

        rect[right] = function(epos) { //鼠从标右侧进入和离开事件
            spos = {"left": left, "top": 0};
            if (_out) {
                _desc.animate(spos, "fast"); //从右侧成离开
            } else {
                _desc.css(spos).animate(epos, "fast"); //从右侧进入
            }
        };

        rect[bottom] = function(epos) { //鼠从标下边界进入和离开事件
            spos = {"top": height, "left": 0};
            if (_out) {
                _desc.animate(spos, "fast"); //从底部离开
            } else {
                _desc.css(spos).animate(epos, "fast"); //从底部进入
            }
        };

        rect[_min]({"left": 0, "top": 0}); // 执行对应边界 进入/离开 的方法

    });
});
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

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

*

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

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

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

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.100677s