最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

jQueryQQ商城焦点图自动切换

来源:http://www.erdangjiade.com/ 沐浴春风 2015-05-26 07:59浏览(1587)

本文介绍一款适合新手的焦点图轮播,可自由切换图片,左右按钮控制。

0、请不要问“在不在”之类的问题,有问题直接问!1、学生或暂时没有工作的童鞋,整站资源免费下载!2、¥9.9充值终身VIP会员,加我微信,826096331 拉你进VIP群学习!3、程序员加油,技术改变世界。在线 充值

jQueryQQ商城焦点图自动切换
分类:图片代码 > 广告 难易:初级
查看演示

加我微信,拉你进VIP群学习:

下载资源 下载积分: 30 积分

HTML

首先我们放置4张轮播的图片:

<div id="focus">
    <ul>
        <li><a href="http://www.erdangjiade.com/" target="_blank"><img src="images/02.jpg" alt="QQ商城焦点图效果教程" /></a></li>
        <li><a href="http://www.erdangjiade.com/" target="_blank"><img src="images/03.jpg" alt="jquery商城焦点图效果" /></a></li>
        <li><a href="http://www.erdangjiade.com/" target="_blank"><img src="images/04.jpg" alt="jquery商城焦点图代码" /></a></li>
        <li><a href="http://www.erdangjiade.com/" target="_blank"><img src="images/05.jpg" alt="jquery商城焦点图源码" /></a></li>
    </ul>
</div>

CSS

接着我们定义轮播#focus的内部样式:

#focus {width:800px; height:280px; overflow:hidden; position:relative;}
#focus ul {height:380px; position:absolute;}
#focus ul li {float:left; width:800px; height:280px; overflow:hidden; position:relative; background:#000;}
#focus ul li div {position:absolute; overflow:hidden;}
#focus .btnBg {position:absolute; width:800px; height:20px; left:0; bottom:0; background:#000;}
#focus .btn_slide {position:absolute; width:780px; height:10px; padding:5px 10px; right:0; bottom:0; text-align:right;}
#focus .btn_slide span {display:inline-block; _display:inline; _zoom:1; width:25px; height:10px; _font-size:0; margin-left:5px; cursor:pointer; background:#fff;}
#focus .btn_slide span.on {background:#fff;}
#focus .preNext {width:45px; height:100px; position:absolute; top:90px; background:url(images/sprite.png) no-repeat 0 0; cursor:pointer;}
#focus .pre {left:0;}
#focus .next {right:0; background-position:right top;}

jQuery

$(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_slide'>";
    for (var i = 0; i < len; i++) {
        btn += "<span></span>";
    }
    btn += "</div><div class='preNext pre'></div><div class='preNext next'></div>";
    $("#focus").append(btn);
    $("#focus .btnBg").css("opacity", 0.5);

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

    //上一页、下一页按钮透明度处理
    $("#focus .preNext").css("opacity", 0.2).hover(function() {
        $(this).stop(true, false).animate({
            "opacity": "0.5"
        },
        300);
    },
    function() {
        $(this).stop(true, false).animate({
            "opacity": "0.2"
        },
        300);
    });

    //上一页按钮
    $("#focus .pre").click(function() {
        index -= 1;
        if (index == -1) {
            index = len - 1;
        }
        showPics(index);
    });

    //下一页按钮
    $("#focus .next").click(function() {
        index += 1;
        if (index == len) {
            index = 0;
        }
        showPics(index);
    });

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

    //鼠标滑上焦点图时停止自动播放,滑出时开始自动播放
    $("#focus").hover(function() {
        clearInterval(picTimer);
    },
    function() {
        picTimer = setInterval(function() {
            showPics(index);
            index++;
            if (index == len) {
                index = 0;
            }
        },
        4000); //此4000代表自动播放的间隔,单位:毫秒
    }).trigger("mouseleave");

    //显示图片函数,根据接收的index值显示相应的内容
    function showPics(index) { //普通切换
        var nowLeft = -index * sWidth; //根据index值计算ul元素的left值
        $("#focus ul").stop(true, false).animate({
            "left": nowLeft
        },
        300); //通过animate()调整ul元素滚动到计算出的position
        //$("#focus .btn_slide span").removeClass("on").eq(index).addClass("on"); //为当前的按钮切换到选中的效果
        $("#focus .btn_slide span").stop(true, false).animate({
            "opacity": "0.4"
        },
        300).eq(index).stop(true, false).animate({
            "opacity": "1"
        },
        300); //为当前的按钮切换到选中的效果
    }
});
声明:本文为原创文章,如需转载,请注明来源erdangjiade.com并保留原文链接:https://www.erdangjiade.com/js/132.html
评论1
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

  • 头像 沙发
    10-20 09:31
    qq562140910
    xuexi ,,,henhao
1 2