• javascript中元素的scrollLeft和scrollTop属性说明


    再说意义之前,前说一下这两个属性的适用范围:

     

    注意:这两个属性只能用于元素设置了overflow的css样式中。否者这两个属性没有任何意义。且overflow的值不能为visible,但可以为hidden,auto,scroll的之中,但是hidden最常见。

    注意:在对这两个参数设置值时,直接用数字就可以了,否者不起作用。

    javascript中元素的scrollLeft和scrollTop属性的参数意义:

    scrollLeft:是该元素的显示(可见)的内容与该元素实际的内容的距离。

    即设置scrollleft就如同你拖动水平滚动条一样。假如你的页面太大,浏览器的宽度不够,就会出现滚动条。一开始scrollLeft的值为0,你就看到了你的页面最左边的内容。而不显示超过浏览器的那部分,当你向右拖动滚动条时,scrollLeft的值在增大,你就看到了右边因隐藏的东西,而看不到左边隐藏的部分。他就会从scrollLeft的位置开始显示,而不显示0-scrollLeft的元素内容。即:该元素的显示位置与实际内容的位置的距离变大。。。

    简单了说:元素会从scrollLeft的位置显示该元素的内容。

    假如不懂的话,你就把元素的所有内容都在纸画出拉,元素的最左边为0,显示的宽度为10,那就就能看到0-10的位置,假如scrollLeft为20的话,你就能看到从20的位置开始显示,向后显示10个

    那么scrollTop和scrollLeft一样,只不过变成了垂直了而已。

    实现内容的滚动效果(其中内容可以是任何东西:图片,文字,等等)

     

     

     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 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
     5 <title>图片滚动</title>
     6 </head>
     7 <body>
     8 <style type="text/css">
     9 <!--
    10 #demo {
    11 background: #FFF;
    12 /*必须的*/
    13 overflow:hidden;
    14 border: 1px dashed #CCC;
    15  100px;
    16 }
    17 #demo img {
    18 border: 3px solid #F2F2F2;
    19 }
    20 #indemo {
    21 float: left;
    22  800%;
    23 }
    24 #demo1 {
    25 float: left;
    26 }
    27 #demo2 {
    28 float: left;
    29 }
    30 -->
    31 </style>
    32 <div id="demo">
    33 <div id="indemo">
    34 <div id="demo1">
    35 <!--你这里可以变成图片-->
    36 <a href="#">0</a>
    37 <a href="#">1</a>
    38 <a href="#">2</a>
    39 <a href="#">4</a>
    40 <a href="#">5</a>
    41 <a href="#">6</a>
    42 <a href="#">7</a>
    43 <a href="#">8</a>
    44 <a href="#">9</a>
    45 <a href="#">0</a>
    46 </div>
    47 <div id="demo2"></div>
    48 </div>
    49 </div>
    50 <script>
    51 <!--
    52 var speed=10;
    53 var tab=document.getElementById("demo");
    54 var tab1=document.getElementById("demo1");
    55 var tab2=document.getElementById("demo2");
    56 //用于让tab1的内容与tab2的内容一样
    57 tab2.innerHTML=tab1.innerHTML
    58 function Marquee(){
    59 //当元素要显示tab2的内容时,让他去显示tab1的内容,因为tab1与tab2的内容一样,就实现了滚动,因为速度太快了,所以你就堪称他是连续的了
    60 if(tab2.offsetWidth-tab.scrollLeft<=0){
    61 tab.scrollLeft-=tab1.offsetWidth
    62 }
    63 else{
    64 tab.scrollLeft++;
    65 }
    66 }
    67 var MyMar=setInterval(Marquee,speed);
    68 tab.onmouseover=function() {clearInterval(MyMar)};
    69 tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)};
    70 -->
    71 </script>
    72 </body>
    73 </html>

     

     


    转自

    转自:http://m.blog.csdn.net/article/details?id=16903219

     

     

     

     

  • 相关阅读:
    支付宝沙箱环境应用
    七牛云视频托管
    腾讯云短息验证码接口
    git远程连接(码云)
    git
    字间距
    html文本保留空格
    mysql重启导致AUTO_INCREMENT从1开始
    js保留两位小数
    vue中watch的基本用法
  • 原文地址:https://www.cnblogs.com/zhn0823/p/5957036.html
Copyright © 2020-2023  润新知