闲扯 Javascript 04 滚动条

物体运动基础

让Div移动起来

offsetLeft的作用

用定时器让物体连续移动

效果原理

让ul一直向左移动

复制li

innerHTML和+=

修改ul的width

滚动过界后,重设位置

判断过界

改变滚动方向

修改speed

修改判断条件

鼠标移入暂停

移入关闭定时器

移出重新开启定时器


 1 <style>
2 *{ margin:0px; padding:0px;}
3 #div1{ width:712px; height:108px; margin:100px auto; position:relative; background:#F00; overflow:hidden;}
4 #div1 ul{ position:absolute; left:0px; top:0px; }
5 #div1 ul li{ float:left; list-style:none; width:178px; height:108px;}
6 </style>
7 <script>
8
9 window.onload=function ()
10 {
11 var oDiv=document.getElementById(‘div1‘);
12 var oUl=oDiv.getElementsByTagName(‘ul‘)[0];
13 var oLi=oDiv.getElementsByTagName(‘li‘);
14
15 oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
16 oUl.style.width=oLi[0].offsetWidth*oLi.length+‘px‘;
17 var num=-2;
18
19 function move()
20 {
21 if(oUl.offsetLeft<-oUl.offsetWidth/2)
22 {
23 oUl.style.left=‘0‘;
24 }
25 if(oUl.offsetLeft>0)
26 {
27 oUl.style.left=-oUl.offsetWidth/2+‘px‘; //当oUl.style.left>0 也就是left 到达右边,后面跟着出现红色,此时只需把它的宽度拉到offsetWidth的中段(oUl的宽度)即可
28 }
29 oUl.style.left=oUl.offsetLeft+num+‘px‘;
30 }
31
32 timer=setInterval( move
33 ,30)
34 oDiv.onmouseover=function ()
35 {
36 clearInterval(timer);
37 };
38
39 oDiv.onmouseout=function ()
40 {
41 timer=setInterval(move, 30);
42 };
43
44 document.getElementsByTagName(‘a‘)[0].onclick=function ()
45 {
46 num=-2;
47 }
48 document.getElementsByTagName(‘a‘)[1].onclick=function (){ num=2;}
49
50
51
52 };
53
54
55 </script>
56 </head>
57
58 <body>
59 <a href="#">向左走</a>
60 <a href="#">向右走</a>
61 <div id="div1">
62 <ul>
63
64 <li> <img src="images/1.jpg"/></li>
65 <li> <img src="images/2.jpg"/></li>
66 <li> <img src="images/3.jpg"/></li>
67 <li> <img src="images/4.jpg"/></li>
68
69 </ul>
70 </div>
71 </body>

闲扯 Javascript 04 滚动条,码迷,mamicode.com

时间: 2024-10-04 11:41:41

闲扯 Javascript 04 滚动条的相关文章

JavaScript对滚动条的操作

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>在div区域双击鼠标可以看到效果</title> <script type="text/JavaScript"> var currenTop,timer; function endScroll()

javascript 获取滚动条高度+常用js页面宽度与高度

javascript 获取滚动条高度+常用js页面宽度与高度 js(1)  /******************** * 取窗口滚动条高度  ******************/function getScrollTop(){    var scrollTop=0;    if(document.documentElement&&document.documentElement.scrollTop)    {        scrollTop=document.documentElem

JavaScript自定义滚动条

原生JavaScript自定义滚动条 版权所有,如若转载请注明出处并附上本文链接 http://www.cnblogs.com/Pengxm-liveShare/p/5953810.html 由于项目需求需要用到滚动条, 但是浏览器自带的太丑, 而且每个浏览器显示的都不同, 所以自己编写了一个自定义的滚动条. (由于是菜鸟, 写的比较乱, 大家仅供参考就好, 能提提意见改进下就更好了!) 话不多说先看下样式: 主要功能: 支持滚动条自定义样式(颜色, 大小) 支持鼠标事件(点击和滑轮滚动) 主要

javascript自定义滚动条插件.

在实际项目中,经常由于浏览器自带的滚动条样式太戳,而且在各个浏览器中显示不一样,所以我们不得不去实现自定义的滚动条,今天我就用最少的代码实现了一个自定义滚动条,代码量区区只有几十行,使用起来也非常方便. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title

javascript自定义滚动条插件,几行代码的事儿

在实际项目中,经常由于浏览器自带的滚动条样式太戳,而且在各个浏览器中显示不一样,所以我们不得不去实现自定义的滚动条,今天我就用最少的代码实现了一个自定义滚动条,代码量区区只有几十行,使用起来也非常方便. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title

javascript -- (js滚动条实现)

<style> * { margin : 0; padding : 0; } </style> <script type = "text/javascript" > var body = document.getElementsByTagName('body')[0]; var wrap = document.createElement('div');   //创建最外层边框 var p = document.createElement('p');

jquery ,Javascript 获取滚动条高度和位置, 元素距页头高度

jQuery写法: 获取览器显示区域的高度 : $(window).height();  获取浏览器显示区域的宽度 :$(window).width(); 获取页面的文档高度 :$(document).height(); 获取页面的文档宽度 :$(document).width(); 获取滚动条到顶部的垂直高度 :$(document).scrollTop()=$(window).scrollTop() 获取滚动条到左边的垂直宽度 :$(document).scrollLeft()=$(wind

原生JavaScript实现滚动条

没事找事,明明overflow:scroll|auto就可以,只是难看点(实际上css也能设置).只当练习写拖拽.监听事件.位置检测了. 原理是对滑动条块进行监听,按下鼠标按键后,监听鼠标移动,然后根据滑动条块移动的百分比算出滚动区域的滚动程度,用marginLeft进行滚动.具体的写在注释里. 整体弄成了一个对象,防止各种乱七八糟的数据污染全局变量.另外,对象内部调用的函数也都写到了对象构造函数的里面,由于对象作用域链的原理,外部无法进行调用,防止不小心在外部调用. 1 <!DOCTYPE h

javascript获取滚动条位置(兼容所有浏览器)

有两种方式来获取浏览器滚动条的位置 第一种:document.documentElement.scrollTop 第二种:$("body").scrollTop() 第一种方式能够兼容FireFox和IE,但是chrome下取的值永远是0,而第二种能够兼容Chrome,但在IE和FireFox下取的值永远是0 所以最准确取位置的方法是: if($.browser.webkit) { scTop = $("body").scrollTop(); }else { scT