有一种精神叫做尤文
2009-04-25 05:16
190 查看
【时间轴】
用列表来实现,每个li里面呈现当前轴的内容;
思路:需要有一个变量来保存当前li的序号
当时间轴变化时,要将当前的li选中并取消对以前li的选中
html文件代码:
CSS文件:
.container中的margin:0 auto;作用是使元素居中显示
position属性:可以设置为absolute,然后用left和top属性来规定元素显示位置。
display: block;可以将不是块级元素的元素变成块级元素。
JS实现代码:
..............
})(i);
这段代码的意思是匿名函数立即执行。
作用是:自己构造出块级作用域,如果没有这段代码:i的值会一直为len-1
效果图:
学习地址:http://edu.51cto.com/lesson/id-21873.html
别人的博客:/article/4676784.html(非常不错)
用列表来实现,每个li里面呈现当前轴的内容;
思路:需要有一个变量来保存当前li的序号
当时间轴变化时,要将当前的li选中并取消对以前li的选中
html文件代码:
<html> <head> <link rel="stylesheet" type="text/css" href="css/timeline.css"> <script type="text/javascript" src="js/timeline.js"></script> </head> <body> <div class="container"> <ul id="timeline" class="timeline"> <li class="active"> <div class="check"> <h1>@</h1> </div> <div class="content"> <h3>this is a header</h3> <p>this is content</p> </div> </li> ........ 中间是许多个li标签 ........ <li > <div class="check"> <h1>@</h1> </div> <div class="content"> <h3>this is a header</h3> <p>this is content</p> </div> </li> </ul> </div> </body> </html>
CSS文件:
html,body{ background: lightblue; } .container{ width: 1000px; margin:0 auto; background: gray; } ul{ background: lightyellow; } /*默认样式*/ .timeline li{ height: 120px; list-style: none; position: relative; } .timeline li div{ position: absolute; } .timeline .check h1{ position: absolute; display: block; left: 10px; background: url(../image/click.jpg); cursor: pointer; } .timeline .check{ width: 30px; height: 100%; background: url(../image/line.jpg) repeat-y center; } li .content{ position: absolute; width: 500px; height: 80px; left: 40px; text-indent: 15px; background: lightgreen; } .content p{ visibility: hidden; } /*have style:active;*/ .timeline .active h1{ border: 3px solid yellow; } .timeline .active .content{ height: 90px; border: 3px solid yellow; } .timeline .active .content p{ visibility: visible; }CSS文件代码的几点说明:
.container中的margin:0 auto;作用是使元素居中显示
position属性:可以设置为absolute,然后用left和top属性来规定元素显示位置。
display: block;可以将不是块级元素的元素变成块级元素。
JS实现代码:
window.onload=function(){ var //定义一个变量记录li的序号;初始化为0 curIndex=0, //查找所有可被点击的元素对象 timeline = document.getElementById("timeline"), clickArea = timeline.getElementsByTagName("h1"), //查找所有的li对像 timePoint = timeline.getElementsByTagName("li"); //为每个被单击的对象绑定单击事件 for( var i=0 ,len = clickArea.length; i<len;i++){ (function(i){ clickArea[i].onclick = function(){ //为被点击的时间点li添加active类 timePoint[i].className = "active"; //根据记录的li变量,将active类去除 if(i!==curIndex){ timePoint[curIndex].className = " "; curIndex=i; } }; //添加onmouseover事件 timePoint[i].onmousemove=function(){ timePoint[i].className = "active"; if(i!==curIndex){ timePoint[curIndex].className = " "; curIndex=i; } } })(i ); } };注意:(function(i){
..............
})(i);
这段代码的意思是匿名函数立即执行。
作用是:自己构造出块级作用域,如果没有这段代码:i的值会一直为len-1
效果图:
学习地址:http://edu.51cto.com/lesson/id-21873.html
别人的博客:/article/4676784.html(非常不错)
相关文章推荐
- 有一种精神叫做坚持
- 婚姻中 有一种感动叫做 - 守口如瓶
- 开源是一种态度、分享是一种精神 — FirApi发布、WeiXinApi更新
- IBM收购Sun,这是一种什么样的精神?
- 有一种深爱,叫做不再联系
- 有一种痛苦,叫做后悔
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZde
- 有一种美丽叫做放弃
- 关于人、世界、精神、物质的一种思考(你不要将它当真啦^_^)
- 你对这个东西有强烈的欲望,你就会有一种坚忍不拔的精神。
- 【阿冈观点】博客,也需要一种精神
- 有一种黑客叫做工具党
- 有一种等候叫:忘穿秋水;有一种严寒叫做:忘穿秋裤
- 有一种绝望叫做无限PE hzau 1207 Candies (华中农业大学第五届程序设计大赛网络同步赛 I题)
- 看世界杯应该看到一种精神
- 有一种acm题目叫做,奇葩!
- 开源是一种精神,但开源也是一剂慢性毒药
- 有一种场景叫做震撼
- 有一种成长叫做被逼无奈!
- 有一种美丽叫做放弃!