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⼀样,只不过变成了垂直了⽽已。
实现内容的滚动效果(其中内容可以是任何东西:图⽚,⽂字,等等)javascript说明
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="/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 width: 100px;
16 }
17 #demo img {
18 border: 3px solid #F2F2F2;
19 }
20 #indemo {
21float: left;
22 width: 800%;
23 }
24 #demo1 {
25float: left;
26 }
27 #demo2 {
28float: 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 <!--
52var speed=10;
53var ElementById("demo");
54var ElementById("demo1");
55var ElementById("demo2");
56//⽤于让tab1的内容与tab2的内容⼀样
57 tab2.innerHTML=tab1.innerHTML
58function Marquee(){
59//当元素要显⽰tab2的内容时,让他去显⽰tab1的内容,因为tab1与tab2的内容⼀样,就实现了滚动,因为速度太快了,所以你就堪称他是连续的了60if(tab2.offsetWidth-tab.scrollLeft<=0){
61 tab.scrollLeft-=tab1.offsetWidth
62 }
63else{
64 tab.scrollLeft++;
65 }
66 }
67var MyMar=setInterval(Marquee,speed);
useover=function() {clearInterval(MyMar)};
useout=function() {MyMar=setInterval(Marquee,speed)};
70 -->
71 </script>
72 </body>
73 </html>
转⾃

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。