jQuery一个banner多格子轮播切换

jQuery一个banner多格子轮播切换

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

    赞助会员

jQuery一个banner多个格子,鼠标悬浮在格子上会有阴影背景效果,这是很多商城中流行的多格子焦点图轮播效果。

分类:图片代码 > 图片轮播 难易:初级
$(function() {
    var sWidth = $("#focus").width(); //获取焦点图的宽度(显示面积)
    var len = $("#focus ul li").length; //获取焦点图个数
    var index = 0;
    var picTimer;

    //以下代码添加数字按钮和按钮后的半透明长条
    var btn = "<div class='btnBg'></div><div class='btn'>";
    for (var i = 0; i < len; i++) {
        btn += "<span>" + (i + 1) + "</span>";
    }
    btn += "</div>"
    $("#focus").append(btn);
    $("#focus .btnBg").css("opacity", 0.3);

    //为数字按钮添加鼠标滑入事件,以显示相应的内容
    $("#focus .btn span").mouseenter(function() {
        index = $("#focus .btn span").index(this);
        showPics(index);
    }).eq(0).trigger("mouseenter");

    //本例为左右滚动,即所有li元素都是在同一排向左浮动,所以这里需要计算出外围ul元素的宽度
    $("#focus ul").css("width", sWidth * (len + 1));

    //鼠标滑入某li中的某div里,调整其同辈div元素的透明度,由于li的背景为黑色,所以会有变暗的效果
    $("#focus ul li div").hover(function() {
        $(this).siblings().css("opacity", 0.7);
    }, function() {
        $("#focus ul li div").css("opacity", 1);
    });

    //鼠标滑上焦点图时停止自动播放,滑出时开始自动播放
    $("#focus").hover(function() {
        clearInterval(picTimer);
    }, function() {
        picTimer = setInterval(function() {
            if (index == len) { //如果索引值等于li元素个数,说明最后一张图播放完毕,接下来要显示第一张图,即调用showFirPic(),然后将索引值清零
                showFirPic();
                index = 0;
            } else { //如果索引值不等于li元素个数,按普通状态切换,调用showPics()
                showPics(index);
            }
            index++;
        }, 3000); //此3000代表自动播放的间隔,单位:毫秒
    }).trigger("mouseleave");

    //显示图片函数,根据接收的index值显示相应的内容
    function showPics(index) {  //普通切换
        var nowLeft = -index * sWidth; //根据index值计算ul元素的left值
        $("#focus ul").stop(true, false).animate({"left": nowLeft}, 500); //通过animate()调整ul元素滚动到计算出的position
        $("#focus .btn span").removeClass("on").eq(index).addClass("on"); //为当前的按钮切换到选中的效果
    }

    function showFirPic() { //最后一张图自动切换到第一张图时专用
        $("#focus ul").append($("#focus ul li:first").clone());
        var nowLeft = -len * sWidth; //通过li元素个数计算ul元素的left值,也就是最后一个li元素的右边
        $("#focus ul").stop(true, false).animate({"left": nowLeft}, 500, function() {
            //通过callback,在动画结束后把ul元素重新定位到起点,然后删除最后一个复制过去的元素
            $("#focus ul").css("left", "0");
            $("#focus ul li:last").remove();
        });
        $("#focus .btn span").removeClass("on").eq(0).addClass("on"); //为第一个按钮添加选中的效果
    }
});
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

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

*

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

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

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

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.096424s