js跑马灯笔记

跑马灯效果,鼠标移入缩略图,弹框出现并展示大图 

HTML:
 

//上边框
<div class="move_hr" style="margin-top:20px">
            <div class="move_bg"></div>
        </div>
//跑马灯
<div class="slide_wrap">
            <ul style="left: -358.5px;">
                <li>
                    <div class="img_box">
                        <img src="./images/images/paoma1.png" alt="">
                    </div>
                    <h5>你好你好你好你好你好你好你好你好</h5>
                </li>
                <li>
                    <div class="img_box">
                        <img src="./images/images/paoma2.png" alt="">

                    </div>
                    <h5>你好你好你好你好你好你好你好你好</h5>
                </li>
                <li>
                    <div class="img_box">
                        <img src="./images/images/paoma3.png" alt="">

                    </div>
                    <h5>你好你好你好你好你好你你好你好你好</h5>
                </li>
                <li>
                    <div class="img_box">
                        <img src="./images/images/paoma4.png" alt="">

                    </div>
                    <h5>你好你好你好你好</h5>
                </li>
                <li>
                    <div class="img_box">
                        <img src="./images/images/paoma9.png" alt="">
                    </div>
                    <h5>你好你好你你好你好你好</h5>
                    <h5>你你好你好你好你你好</h5>
                </li>
            </ul>
        </div>
//下边框
<div class="move_hr" style="margin-bottom:20px">
            <div class="move_bg"></div>
        </div>
//弹框
<div id="model">
         <img src="" alt="">
</div>

 CSS:
 

.slide_wrap {
    margin: 20px auto;
    height: 260px;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.slide_wrap ul {
    height: 260px;
    width: 100000px;
    position: absolute;
    left: 0;
    box-sizing: border-box;
}
/*ul width的宽不能过小*/
.slide_wrap ul li {
    display: block;
    float: left;
    margin: 5px;
    height: 100%;
    border-radius: 5px;
    box-sizing: border-box;
    position: relative;
}
.slide_wrap ul li .img_box {
    height: 196px;
}
.slide_wrap ul li .img_box img{
    display: block;
    margin: 0 auto;
    height: 100%;
}
.slide_wrap ul li img {
    border-radius: 5px;
    display: block;
}

.slide_wrap ul li h5 {
   font-size: 16px;
   line-height: 32px;
   text-align: center;
}
.move_hr{
    width:100%;
    margin:0 auto;
    height: 20px;
   overflow: hidden;
   background: #fff;
   position: relative;
}
.move_hr .move_bg{
    width:100000px;
    height:20px;
    background:url(../border1.png) repeat;
    position: absolute;
    left:0;
    top:0;
}

JS:
 

$(document).ready(function () {
            var box = $(".slide_wrap"),
                v0 = 1.5; //这里添加滚动的对象和其速率
            Run(box, v0);
            function lastZoom(index) {
                if (index == 8) {
                    $("#model").css({ "width": "300px" })
                } else {
                }
            }
            function Run($Box, v) { //$Box移动的对象,v对象移动的速率
                var $Box_ul = $Box.find("ul"),
                    $Box_li = $Box_ul.find("li"),
                    left = 0,
                    s = 0,
                    timer; //定时器
                $Box_li.each(function (index) {
                    $(this).hover(function () {
                        $("#model").find("img").attr('src', "./images/images/paomabig" + (index + 1) + ".png");
                        $("#model").css({ "display": "block" });
                        // Resize();
                        lastZoom(index)
                    }, function () {
                        $("#model").css({ "display": "none" });
                    })
                    s += $(this).outerWidth(true); //即要滚动的长度
                })
                window.requestAnimationFrame = window.requestAnimationFrame || function (Tmove) {
                    return setTimeout(Tmove, 1000 / 60)
                };
                window.cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;
                if (s >= $Box.width()) { //如果滚动长度超出Box长度即开始滚动,没有的话就不执行滚动
                    $Box_li.clone(true).appendTo($Box_ul);
                    Tmove();
                    function Tmove() {
                        //运动是移动left  从0到-s;(个人习惯往左滚)
                        left -= v;
                        if (left <= -s) {
                            left = 0;
                            $Box_ul.css("left", left);
                            $(".move_bg").css("left", left)
                        } else {
                            $Box_ul.css("left", left);
                            $(".move_bg").css("left", left)
                        }
                        timer = requestAnimationFrame(Tmove);
                    }
                    $Box_ul.hover(function () {
                        cancelAnimationFrame(timer);
                    }, function () {
                        Tmove()
                    });
                    $("#model").hover(function () {
                        $(this).css({ "display": "block" });
                        cancelAnimationFrame(timer);
                    }, function () {
                        $(this).css({ "display": "none" })
                        Tmove()
                    })
                }
            }
        })

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值