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 width: 100px; 
16 } 
17 #demo img { 
18 border: 3px solid #F2F2F2; 
19 } 
20 #indemo { 
21 float: left; 
22 width: 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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/11717.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论