zoukankan      html  css  js  c++  java
  • JS不间断向上滚动 setInterval和clearInterval



    <div id=demo style=overflow:hidden;height:139;232;background:#f4f4f4;color:#ffffff><div id=demo1><img src="http://www.lanrentuku.com/down/js/images/12460764740.jpg"><img src="http://www.lanrentuku.com/down/js/images/12460764741.jpg"><img src="http://www.lanrentuku.com/down/js/images/12460764742.jpg"><img src="http://www.lanrentuku.com/down/js/images/12460764743.jpg"><img src="http://www.lanrentuku.com/down/js/images/12460764744.jpg"></div> <div id=demo2></div> </div> <script> var speed=50 demo2.innerHTML=demo1.innerHTML function Marquee(){ if(demo2.offsetTop-demo.scrollTop<=0) demo.scrollTop-=demo1.offsetHeight else{ demo.scrollTop++ } } var MyMar=setInterval(Marquee,speed) demo.onmouseover=function() {clearInterval(MyMar)} demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)} </script>

      预览     参考 http://www.jb51.net/article/74333.htm

    <html>
    <HEAD>
    <TITLE>文字链接列表滚动</TITLE>
    <META content="text/html; charset=gb2312" http-equiv=Content-Type>
    <STYLE type=text/css>
    #demo a {
     width:100%;
     overflow:hidden;
     font:12px/16px tahoma;
     display:block;
     text-decoration:none;
     margin:2px;
     color:#4a551c;
     padding-left:2px;
     text-align:left;
    }
    #demo a:hover {
     color:#ff6600;
    }
    </STYLE>
    </HEAD>
    <body>
    <div id="demo" style="overflow:hidden;height:132px;350px; border:1px solid #dde5bc;">
     <div id="demo1"> 
      <a href="#">多彩的电脑机箱图标,很多颜色和风格……</a>
      <a href="#">地方税务局网站建设方案 ……</a>
      <a href="#">获得系统内存,并以圆饼图表现百分比……</a>
      <a href="#">多彩的电脑机箱图标,很多颜色和风格……</a>
      <a href="#">完全兼容IE, FF, Opera, 其它的还未经测试……</a>
      <a href="#">地方税务局网站建设方案 ……</a>
      <a href="#">多彩的电脑机箱图标,很多颜色和风格……</a>
      <a href="#">地方税务局网站建设方案 ……</a>
      <a href="#">完全兼容IE, FF, Opera, 其它的还未经测试……</a>
      <a href="#">获得系统内存,并以圆饼图表现百分比……</a>
      <a href="#">完全兼容IE, FF, Opera, 其它的还未经测试……</a>
      <a href="#">获得系统内存,并以圆饼图表现百分比……</a>
     </div>
     <div id="demo2"></div>
    </div>
    <script>
    var speed=40
    var demo=document.getElementById("demo");
    var demo2=document.getElementById("demo2");
    var demo1=document.getElementById("demo1");
    demo2.innerHTML=demo1.innerHTML
    function Marquee(){
     if(demo2.offsetTop-demo.scrollTop<=0)
      demo.scrollTop-=demo1.offsetHeight
     else{
      demo.scrollTop++
     }
    }
    var MyMar=setInterval(Marquee,speed)
    demo.onmouseover=function() {clearInterval(MyMar)}
    demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
    </script>
    </body>
    </html>

    原生JS中获取和设置滚动条的偏移位置都用:   demo.scrollTop ,如: 设置   demo.scrollTop =  1 也可以写成

      demo.scrollTop++ ;   获取 : var a=  demo.scrollTop ;

     Jquery中:设置:$("div").scrollTop(100);  获取:$("div").scrollTop()

    ,把上滚动的代码修改成下面, 更容易理解

        <div id="demo" style="overflow:scroll;height:132px;350px; border:1px solid #dde5bc;">
            <div id="demo1">
                <a href="#">11多彩的电脑机箱图标,很多颜色和风格……</a>
                <a href="#">22地方税务局网站建设方案 ……</a>
                <a href="#">33获得系统内存,并以圆饼图表现百分比……</a>
                <a href="#">44多彩的电脑机箱图标,很多颜色和风格……</a>
                <a href="#">55完全兼容IE, FF, Opera, 其它的还未经测试……</a>
                <a href="#">66地方税务局网站建设方案 ……</a>
                <a href="#">77多彩的电脑机箱图标,很多颜色和风格……</a>
                <a href="#">88地方税务局网站建设方案 ……</a>
                <a href="#">99完全兼容IE, FF, Opera, 其它的还未经测试……</a>
                <a href="#">1010获得系统内存,并以圆饼图表现百分比……</a>
                <a href="#">1111完全兼容IE, FF, Opera, 其它的还未经测试……</a>
                <a href="#">1212获得系统内存,并以圆饼图表现百分比……</a>
            </div>
            <div id="demo2"></div>
        </div>

    <script>
    var speed=40
    var demo=document.getElementById("demo");
    var demo2=document.getElementById("demo2");
    var demo1=document.getElementById("demo1");
    demo2.innerHTML=demo1.innerHTML
    function Marquee(){
    if(demo2.offsetTop-demo.scrollTop<=0)
    demo.scrollTop-=demo1.offsetHeight
    else{
    demo.scrollTop++
    }
    }
    aa();

    var MyMar ;
    function aa() {
    MyMar = setInterval(Marquee, speed)
    };
    demo.onmouseover = function () { clearInterval(MyMar) }
    demo.onmouseout = function () { aa() }
    </script>

     

     函数调用setInterval和clearInterval

     
    <div id="oDiv_showCurrTime" style="border:1px solid black; height:20px;"></div><button onclick="startX()">开始</button><button onclick="stopX()">停止</button>  
    <script>  
    var intX; //这个必须写在startX函数外或不写,stopX才有效。  
    function startX(){  
     intX= setInterval(func,500) //通过函数调用setInterval时,第一个参数不可以用"func()"这种形式,只能直接用函数名  
        var dT = document.getElementById("oDiv_showCurrTime");  
        function func(){  
            var dTime = new Date();  
            dT.innerHTML = dTime.toLocaleTimeString()  
        }  
    }  
    function stopX(){  
        window.clearInterval(intX) //注意!如果var intX定义在startX内,则无法清除!  
    }  
    </script>  
    

      

  • 相关阅读:
    使用wchar_t输入,显示中文
    MFC使用rich edit若干问题
    一种对话框嵌入MFC 文档结构效果的实现方法(一),让你的自定义对话框区域同客户区大小一起改变
    一种在MFC程序上显示jpeg图片的方法(二)曙光乍现
    一种在MFC程序上显示jpeg图片的方法(一)宁滥勿缺
    MFC---GDI之DC类杂记,以画尺子为例
    又让厂公着半天急----一例自定义MFC程序编译时LNK2019错误
    egret 引擎分析之三————egret make --egretversion xxxx 到底做了什么?
    egret 引擎分析之二————从selector.js说起
    egret 引擎分析之一————egret 命令的时候发生了什么
  • 原文地址:https://www.cnblogs.com/dare/p/9110150.html
Copyright © 2011-2022 走看看