首页  >  文章  >  web前端  >  div+css+jQuery图片横向滚动代码(带左右点击按钮)_html/css_WEB-ITnose

div+css+jQuery图片横向滚动代码(带左右点击按钮)_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 12:33:381315浏览

首先感谢Blue老师的javascript教程,给了我很多的启发,这是我在看完10 - 定时器的使用 - 2这节视频后,自己试着用jQuery重新改写了一下代码,感觉至少比百度搜出来的那一坨靠谱多了,上代码:

<!DOCTYPE HTML><html lang="en-US"><head>    <meta charset="UTF-8">    <title></title>    <script type="text/javascript" src = "jquery_v1.7.2.js"></script>    <script type="text/javascript">$(document).ready(function (){/*=============Author:GinoBlog:http://www.cnblogs.com/ginowang42Thanks:@Blue--http://www.zhinengshe.com/video.html#1Name:jQuery插件图片左右无缝滚动Arguments:    @leftBtn:向左滚动按钮DOM引用    @rightBtn:向右滚动按钮DOM引用    @speed:滚动速度(每次滚动像素数)CSS keyed Attribute:    #noSeamScroll{position:relative;overflow:hidden;}    #noSeamScroll ul{position:absolute;}        #noSeamScroll ul li {float:left;}    ===============*/    $.fn.extend({noSeamScroll:function (leftBtn,rightBtn,speed){        var timeFlag = speed = speed || 4;;        var timer = null;        var _this = this;//把this重新保存在一个私有变量里面,以防止setInterval误把this指向了window        this.oUl = $("ul",this);        this.oUl.html(this.oUl.html() + this.oUl.html());//把li复制一份        this.oLis = $("ul li",this);//之后再变量保存li的全部节点        this.oUl.width(this.oLis.eq(0).outerWidth(true)*this.oLis.length + "px");        var fnMove = function (){            $("ul",_this).css("left",function (){                if ($(this).position().left > 0){//这里的this指的是$("ul",element)                    return -$(this).outerWidth(true)/2 + "px";                }                if ($(this).position().left < -$(this).outerWidth(true)/2 ){                    return "0px";                }                return $(this).position().left  + timeFlag + "px";            })        }            timer = setInterval(fnMove,30);                this.mouseover(function () {clearInterval(timer);});        this.mouseout(function () {timer = setInterval(fnMove,30)});                leftBtn.click(function (){            clearInterval(timer);            timeFlag = -speed;            timer = setInterval(fnMove,30);        })        rightBtn.click(function (){            clearInterval(timer);            timeFlag = speed;            timer = setInterval(fnMove,30);        })    }    });    //test    $("#noSeamScroll").noSeamScroll($("#leftArr"),$("#rightArr"),2);        })    </script>    <style type="text/css">    *{margin:0;padding:0;}    #noSeamScroll{width:752px;height:108px;margin:20px auto;position:relative;overflow:hidden;}    #noSeamScroll ul{position:absolute;list-style:none;}        #noSeamScroll ul li {float:left;width:178px;height:108px;margin-right:10px;}            </style></head><body><a href="javascript:;" id="leftArr">向左移动</a><a href="javascript:;" id="rightArr">向右移动</a>    <div id = "noSeamScroll">        <ul>            <li><img src="images/1.jpg" alt="" /></li>            <li><img src="images/2.jpg" alt="" /></li>            <li><img src="images/3.jpg" alt="" /></li>            <li><img src="images/4.jpg" alt="" /></li>                    </ul>    </div></body></html>

 

 

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn