jquery无缝滚动效果实现

demo如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <meta name="description" content="" />
    <meta name="keywords" content="" />
    <style type="text/css">
        html{background:white;color:black}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,hr,button,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{margin:0;padding:0}body,button,input,select,textarea{font:12px \5b8b\4f53,arial,sans-serif}input,select,textarea{font-size:100%}table{border-collapse:collapse;border-spacing:0}th{text-align:inherit}fieldset,img{border:0}iframe{display:block}abbr,acronym{border:0;font-variant:normal}del{text-decoration:line-through}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:500}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:500}q:before,q:after{content:‘‘}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}a:hover{text-decoration:underline}ins,a{text-decoration:none}a:focus,*:focus{outline:0}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both;overflow:hidden}.clearfix{zoom:1}.clear{clear:both;display:block;font-size:0;height:0;line-height:0;overflow:hidden}.hide{display:none}.block{display:block}.fl,.fr{display:inline}.fl{float:left}.fr{float:right}
        .block{display:block;}
        a:hover{text-decoration:none;}
        .scroll_box{width:920px;position:relative;margin:0 auto;}
        .prev{width:40px;height:86px;background:#000;position:absolute;top:160px;left:-40px;font-size:60px;color:#fff;text-align:center;line-height:86px;}
        .next{width:40px;height:86px;background:#000;position:absolute;top:160px;right:-40px;font-size:60px;color:#fff;text-align:center;line-height:86px;}
        .prev:hover{opacity:0.8;filter:alpha(opacity=80);}
        .next:hover{opacity:0.8;filter:alpha(opacity=80);}
        .scroll_con{width:920px;height:430px;position:absolute;top:0px;overflow:hidden;}
        .scroll_con ul{height:920px;position:absolute;}
        .scroll_con ul li{width:920px;height:430px;}
        .scroll_con ul li img{width:100%;height:100%;}
    </style>
</head>
<body>
<div class="scroll_box">
    <a href="javascript:;" class="prev block"><</a>
    <div class="scroll_con">
        <ul class="clearfix" id="Scroll">
            <li class="fl">
                <img src="http://cache.tzj.iwgame.com/act/special/wsry/images/ev3/ev3_slide1.jpg"/>
            </li>
            <li class="fl">
                <img src="http://cache.tzj.iwgame.com/act/special/wsry/images/ev3/ev3_slide2.jpg"/>
            </li>
            <li class="fl">
                <img src="http://cache.tzj.iwgame.com/act/special/wsry/images/ev3/ev3_slide3.jpg"/>
            </li>
            <li class="fl">
                <img src="http://cache.tzj.iwgame.com/act/special/wsry/images/ev3/ev3_slide4.jpg"/>
            </li>
        </ul>
    </div>
    <a href="javascript:;" class="next block">></a>
</div>
</body>
</html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">
   //box 滚动盒子 btn_prev左按钮 btn_next右按钮 speed切换速度 baseW每次滚动宽度 isAuto是否开启自动滚动 autoSpeed自动滚动速度
    function switchScroll(box,btn_prev,btn_next,speed,baseW,isAuto,autoSpeed){
    var obj = box;
    var pr = btn_prev;
    var ne = btn_next;
    var _this = obj;
    var s_l = obj.find(‘li‘).length;
    var temp = _this.html();
    _this.css(‘width‘,baseW*s_l+‘px‘).css(‘left‘,‘0px‘);
    var autoTimer = null;
    pr.click(function(){
        if(parseInt(_this.css(‘left‘)) >= 0){
            var tp = _this.find(‘li‘).eq(s_l-1).html();
            _this.find(‘li‘).eq(s_l-1).remove();
            _this.find(‘li‘).eq(0).before(‘<li class="fl">‘+ tp +‘</li>‘);
            _this.css(‘left‘,-baseW+‘px‘);
            if(!_this.is(":animated")){//如果当前不处于动画状态
                _this.animate({
                    ‘left‘:(parseInt(_this.css(‘left‘))+baseW)+‘px‘
                  }, speed );
            }
        }else{
            if(!_this.is(":animated")){//如果当前不处于动画状态
                _this.animate({
                    ‘left‘:(parseInt(_this.css(‘left‘))+baseW)+‘px‘
                  }, speed );
            }
        }
    });
    ne.click(function(){
        if(parseInt(_this.css(‘left‘)) <= -(baseW*s_l-baseW)){
            var tp = _this.find(‘li‘).eq(0).html();
            _this.find(‘li‘).eq(s_l-1).after(‘<li class="fl">‘+ tp +‘</li>‘);
            _this.css(‘left‘,-(baseW*s_l-baseW*2)+‘px‘);
            _this.find(‘li‘).eq(0).remove();
            if(!_this.is(":animated")){//如果当前不处于动画状态
            _this.animate({
                ‘left‘:(parseInt(_this.css(‘left‘))-baseW)+‘px‘
              }, speed);
            }
        }else{
            if(!_this.is(":animated")){//如果当前不处于动画状态
            _this.animate({
                ‘left‘:(parseInt(_this.css(‘left‘))-baseW)+‘px‘
              }, speed);
            }
        }
    });
    function autoScroll(){
        clearInterval(autoTimer);
        autoTimer = setInterval(function(){
            ne.trigger(‘click‘);
        },autoSpeed);
    }
    if(!!isAuto){
        autoScroll();
        _this.mouseover(function(){
            clearInterval(autoTimer);
        });
        _this.mouseleave(function(){
            autoScroll();
        });
    }
}
$(function(){
    switchScroll($(‘#Scroll‘),$(‘.prev‘),$(‘.next‘),500,920,true,2000);
});
</script>
时间: 2024-08-09 15:07:19

jquery无缝滚动效果实现的相关文章

liMarquee演示12种不同的无缝滚动效果

很实用的一款liMarquee演示12种不同的无缝滚动效果 在线预览 下载地址 实例代码 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <title>liMarquee演示12种不同的无缝滚动效果-默认效果_sucaihuo</title> <link rel="stylesheet"

liMarquee – jQuery无缝滚动插件

<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><title>jQuery无缝滚动插件liMarquee演示-向上滚动_dowebok</title><link rel="stylesheet" href="css/liMarquee.css"><style>

信息无缝滚动效果marquee

横向滚动.纵向滚动 1. 解决滚动的空白 向左向右滚动的话,可以根据父级定位left,每次加或者减可以使物体向左或右运动,用top也可以实现向上或向下运动 上下滚动实现无缝滚动1. innerHTML2. scrollTop3. offsetHeight4. setInterval()5. clearInterval() HTML: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset

jquery 无缝滚动 jquery.kxbdmarquee

DEMO http://code.ciaoca.com/jquery/kxbdmarquee/demo/ 官网 http://code.ciaoca.com/jquery/kxbdmarquee/ DOM 结构<div id="element_id">     <ul>         <li></li>     </ul> </div>  CSS 样式/*   * 父容器需要设置溢出隐藏  * 如果是水平滚动,项

兼容各种浏览器的文字循环无缝滚动效果

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title>中国站长天空-网页特效-文

jQuery无缝滚动插件

插件代码 ;(function ($) { // jQuery marquee 插件 $.fn.marquee = function (options) { // 默认设置 var defaults = { derection: "top", interval: 50 }; // 合并后的参数设置 var options = $.extend(defaults, options); var $mar = $(this), original = $mar.children().first

图片的无缝滚动效果

代码: ps:图片200*200: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>图片的无缝滚动效果</title> 6 <!-- 标题图标 --> 7 <link rel="shortcut icon" type="image/x-i

jQuery实现滚动效果详解1

声明:第一次写原创,本人初学,很多地方一知半解,本篇算是一个学习的笔记,欢迎批评指正,转载请注明. 今天要做的效果是在网上经常能看到多幅图片向左无缝滚动,鼠标滑过动画暂停,鼠标滑出动画继续的效果.网上现成的代码和插件很多,拿来用有时候不大顺手,今天我就来学习一下它的原理. 要实现这个效果:1.需要一个展示区,滚动的内容只有通过展示区才能被看到id=visual_area2.把滚动的内容横向排列的载体,我们姑且叫它画布,注意不能理解PS中的画布class=scroll_area3.看起来要滚动的内

JQuery实现文字无缝滚动效果 Marquee插件

推荐一个JQuery的无缝文字滚动效果,同时也可以滚动图片,也叫做跑马灯效果. 此jquery插件,依托jquery库,能实现各种滚动效果,且让HTML代码符合W3C标准. 官方演示,如下: Demo 使用方法如下: 1.加载javascript. <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript&