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

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

WBOY
WBOYOriginal
2016-06-24 12:33:381284Durchsuche

首先感谢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>

 

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn