jq封装-无缝滚动效果

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>无缝滚动</title>
    <style>
        *{
            margin:0;
            padding: 0;
        }
        .outer{
            position: relative;
            margin:30px auto;
            border:1px solid #ccc;
            border-radius: 5px;
            overflow: hidden;
        }
        .outer1{
            width: 300px;
            height: 100px;
        }
        .outer1 ul{
            width: 100%;
        }
        .outer1 li{
            margin-bottom: 10px;
        }
        .outer ul{
            position: absolute;
            top: 0;
            list-style: none;
            overflow: auto;
        }
        li{
            line-height: 20px;
            text-align: center;
            word-break: break-all;
        }
        .outer2{
            width: 80%;
            height: 20px;
            line-height: 20px;
            white-space: nowrap;
        }
        .outer2 li{
            float: left;
            margin-right: 30px;;
            height: 100%;
            vertical-align: top;
        }
    </style>
</head>
<body>
    <div class="outer outer1">
        <ul>
            <li>1111111111111111111111111111111111111111111111111111111111111111111111111</li>
            <li>222</li>
            <li>333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333</li>
            <li>44444</li>
            <li>5555</li>
            <li>666</li>
            <li>77777777777777777777777777777777777777777777777777777777777777777777777777</li>
            <li>888888</li>
        </ul>
    </div>
    <div class="outer outer2">
        <ul>
            <li>11111111111111111111111111</li>
            <li>222222222222222222222222222222222</li>
           <li>3333333333333333333333333</li>
            <li>44444</li>
             <li>5555</li>
            <li>666666666666666666666666666666666666666666666666666666666666</li>
            <li>777777777777777</li>
            <li>888888</li>
        </ul>
    </div>
</body>
<script src="../../../js/jquery-1.11.3.min.js"></script>
<script>
    $(function(){
/*        var $outer=$(".outer1"),$ul=$(".outer1>ul"),$h=$ul.height(),$outerH=$outer.height(),step=0,timer=null;
        function move(){
            var top = $ul.position().top,$li=$ul.find("li").eq(0),hei=$li.height();
            if(top==-hei){
                var origin = $li.detach();
                $ul.append(origin).css("top",top+hei);
            }
            $ul.css("top",--$ul.position().top);
            timer=window.setTimeout(move,20);
        }
        function clear(){
            clearTimeout(timer);
            timer=null;
        }
        move();
        $outer.hover(function(){
            clear();
        },function(){
            move();
        });*/
        $.fn.scroll=function(opt){
            var timer;
            function move(){
                var range,_val,origin,$li=opt.list.find("li").eq(0);
                if(opt.direction == "top"){
                    range=opt.list.position().top;
                    _val=parseFloat($li.height())+parseFloat($li.css("marginTop"))+parseFloat($li.css("marginBottom"));
                    if(range==-_val){
                        origin = $li.detach();
                        opt.list.append(origin).css("top",range+_val);
                    }
                    if(opt.el.height() <= opt.list.height()){
                        opt.list.css("top",--opt.list.position().top);
                    }
                }else{
                    range=opt.list.position().left;
                    _val=parseFloat($li.width())+parseFloat($li.css("marginRight"))+parseFloat($li.css("marginLeft"));
                    if(range==-_val){
                        origin = $li.detach();
                        opt.list.append(origin).css("left",range+_val);
                    }
                    if(opt.el.width() <= opt.list.width()){
                        opt.list.css("left",--opt.list.position().left);
                    }
                }
                timer=window.setTimeout(move,opt.time);
            }
            function clear(){
                clearTimeout(timer);
                timer=null;
            }
            move();
            opt.el.hover(function(){
                clear();
            },function(){
                move();
            });
        };
        //el表示容器。
        //list表示容器中的列表ul
        //direction表示方向 top为竖向滚动    left为横向滚动      // time表示滚动时间  一般为10 20 30较为合适
        $.fn.scroll({el:$(".outer1"),list:$(".outer1>ul"),direction:‘top‘,time:20});
        $.fn.scroll({el:$(".outer2"),list:$(".outer2>ul"),direction:‘left‘,time:10});
    })
</script>
</html>
时间: 2024-12-10 02:49:11

jq封装-无缝滚动效果的相关文章

信息无缝滚动效果marquee

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

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

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>中国站长天空-网页特效-文

图片的无缝滚动效果

代码: 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

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

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

javascript小例子:實現四方向文本无缝滚动效果

实现一个文本无缝滚动的效果: <!DOCTYPE html> <!--[if lt IE 7 ]> <html lang="zh-CN" class="ie6"> <![endif]--> <!--[if IE 7 ]> <html lang="zh-CN" class="ie7"> <![endif]--> <!--[if IE 8 ]

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

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

无缝滚动效果

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> * { margin:0; padding: 0;} .container { position: relative; width: 712px; height: 108px; margin: 5

jQery无缝滚动效果

思路: 赋值所有li,添加到ul末尾,重新计算ul宽度 每次移动一个固定的值,当超出一半时,将ul拉回原位 以下代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>无缝滚动</title> <style type="text/css"> *{ margin: 0; padding: 0; } img{ disp

jq无缝滚动效果插件(之前的那个升级改造加强版)

scroll滚动插件 支持上下左右,淡入淡出,滚动时间设置,动画时间设置,鼠标经过是否停止设置 默认配置参数可修改 $(".content").easysroll({ //默认配置参数 direction: "left", //滚动方向 left(向左)right(向右) top(向上) bottom(向下) 默认left numberr: "1", //每一次滚动数量 默认是1 delays:"1000",//完成一次动画所