Heim  >  Artikel  >  Web-Frontend  >  CSS如何实现滑动门效果_html/css_WEB-ITnose

CSS如何实现滑动门效果_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:41:171273Durchsuche

CSS如何实现滑动门效果:
所谓的滑动门和tab选项卡其实是一个意思,下面就通过实例介绍一下如何实现此功能,代码实例如下:

<!DOCTYPE html>   <html>   <head>   <meta charset=" utf-8">   <meta name="author" content="http://www.51texiao.cn/" /> <meta name="keywords" content="JS实现的新闻列表tab选项卡效果、JS特效、Jquery特效" /><meta name="description" content="JS实现的新闻列表tab选项卡效果、JS特效、Jquery特效" /><title>JS实现的新闻列表tab选项卡效果-蚂蚁部落</title><style type="text/css">* {  padding:0;  margin:0}img {  border:0;  display:block;}body {  font-size:12px;  margin:0px auto;  color:black;  text-align:center;}.dis{  display:block;}.undis {  display:none;}#cntR {  width:302px;  margin:0 auto;}#NewsTop{  clear:both;  margin-bottom:16px;}#NewsTop P {  float:left;  line-height:21px}#NewsTop P.topTit {  font-weight:bold;  width:117px;}#NewsTop P.topC0 {  background:#dcdcdc;  border-left:#f2f2f2 1px solid;  width:40px;  cursor:pointer}#NewsTop P.topC1 {  background:#c2130e;  border-left:#f2f2f2 1px solid;  width:40px;  color:#fff}#NewsTop #NewsTop_tit{  border-bottom:#c2130e 3px solid;  height:21px;}#NewsTop #NewsTop_cnt{  padding-left:32px;  line-height:26px;  padding-top:7px;  height:260px;  text-align:left;}#NewsTop #NewsTop_cnt a {  color:#666;  text-decoration:none}#NewsTop #NewsTop_cnt a:hover {  color:#c2130e;  text-decoration:underline}</style></head><body><div id="cntR">  <div id="NewsTop">    <div id="NewsTop_tit">      <P class="topTit">新闻排行</P>      <P class="topC0">国内</P>      <P class="topC0">国际</P>      <P class="topC0">社会</P>      <P class="topC0">网评</P>    </div>    <div id="NewsTop_cnt">     <span title="Don't delete me"></span>     <span>       <a href="#">新疆阜康铁路桥梁坍塌多节运煤车厢侧翻坠河</a><br/>      <a href="#">最高法:承诺不判赖昌星死刑没有超越法律程序</a><br/>      <a href="#">物权法:满70年住宅建设用地使用权将自动续期</a><br/>      <a href="#">弟弟被妻下药毒死男子买女尸为其配阴婚(图)</a><br/>      <a href="#">揭开郑州神枪手神秘面纱 头号狙击手是近视眼</a><br/>      <a href="#">美军高官:不排除和中国发生直接军事对抗可能</a><br/>      <a href="#">浙江东阳传奇富姐吴英涉嫌非法吸收存款被批捕</a><br/>      <a href="#">西方炒作"中国航母威胁论"称05年已正式服役</a><br/>      <a href="#">女孩生活无法自理请人大代表递交安乐死议案</a><br/>      <a href="#">建设部:住房公积金制度将覆盖农民工</a><br/>      <div align="right"><a href="#">...more</a></div>    </span>     <span>       <a href="#">美华裔女兵在营房上吊死亡军方介入调查(图)</a><br/>      <a href="#">组图:美国总统布什车队被撞</a><br/>      <a href="#">梦露掌握肯尼迪之弟秘密遭诱骗自杀(组图)</a><br/>      <a href="#">孟加拉国严打贪官人人自危奔驰宝马抛弃路边</a><br/>      <a href="#">韩国将举行大规模军事演习(图文)</a><br/>      <a href="#">组图:土星最大卫星表面发现“海洋”</a><br/>      <a href="#">墨西哥缉毒行动缴获2亿美元巨额现钞(组图)</a><br/>      <a href="#">组图:全球掀起裸体抗议加拿大捕猎海豹活动</a><br/>      <a href="#">美潜艇在百慕大失踪一晚航母战群出动搜索</a><br/>      <a href="#">匈牙利20万人示威 政要被民众扔鸡蛋(组图)</a><br/>      <div align="right"><a href="#">...more</a></div>    </span>     <span>       <a href="#">深圳女工被三名男子轮奸男友目睹过程(组图)</a><br/>      <a href="#">男子珍藏一角钱“币王”价格高达1.3万(图)</a><br/>      <a href="#">青海女孩被困洗头房每天接客十几次(图)</a><br/>      <a href="#">组图:老妻少夫演绎忘年恋69岁妻子成功除皱</a><br/>      <a href="#">陕西蓝田县电视台播放淫秽影像 达10分钟左右</a><br/>      <a href="#">女子自称被大学教授诱骗同居讨要分手费(图)</a><br/>      <a href="#">组图:男女私处成造型“性”趣礼品太出格</a><br/>      <a href="#">组图:四川泸州16岁女孩打造中国第一丑女</a><br/>      <a href="#">最高法:承诺不判赖昌星死刑没有超越法律程序</a><br/>      <a href="#">深圳发现睾丸被摘男童尸体续:疑为1月前失踪</a><br/>      <div align="right"><a href="#" target=_self>...more</a></div>    </span>     <span> <a href="#">养路费征稽员强制扣车致三轮车夫惨死车轮下</a><br/>      <a href="#">20多位学者谈中医问题 方舟子遭多名专家批驳</a><br/>      <a href="#">考研女生自称揭露监考老师作弊 成绩被判零分</a><br/>      <a href="#">全国政协委员建议一户一房制引起网民热议</a><br/>      <a href="#">河南周口市6名警察将人打昏后扔下楼摔死</a><br/>      <a href="#">组图:69岁老妻除皱成功 与少夫开始新生活</a><br/>      <a href="#">青海女孩被困洗头房每天接客十几次(图)</a><br/>      <a href="#">美上将:解放军不是美军对手 导弹打不垮台湾</a><br/>      <a href="#">新疆阜康铁路桥梁坍塌导致运煤列车脱轨</a><br/>      <a href="#">铁道部回应吴敬琏质疑:春运不涨价将长期坚持</a><br/>      <div align="right"><a href="#">...more</a></div>    </span>     </div>  </div></div><script type="text/javascript">  var Tags=document.getElementById('NewsTop_tit').getElementsByTagName('p');   var TagsCnt=document.getElementById('NewsTop_cnt').getElementsByTagName('span');   var len=Tags.length;   var flag=1;//修改默认值  for(i=1;i<len;i++){    Tags[i].value = i;    Tags[i].onmouseover=function(){                changeNav(this.value)    };     TagsCnt[i].className='undis';   }  Tags[flag].className='topC1';  TagsCnt[flag].className='dis';    function changeNav(v){     Tags[flag].className='topC0';    TagsCnt[flag].className='undis';    flag=v;     Tags[v].className='topC1';    TagsCnt[v].className='dis';  }</script></body></html>

以上代码实现了最基本的滑动门效果,这也是在引用的网络上的一个例子。下面就简单介绍一下如何实现的此功能:

一.在头部使用四个p元素制作导航标题,并且使用左浮动让四个p元素在一行排列,同时设置了后面三个的默认CSS属性。

二.在轮换内容方面,直接就是罗列显示了几个span元素而已,大家可能对第一个span的存在的原因残生疑惑,下面会介绍。

三.以上是代码的div+css实现,现在开始街上js如何控制代码实现滑动门:

document.getElementById('NewsTop_tit').getElementsByTagName('p')用来获取标题的p标签集合。document.getElementById('NewsTop_cnt').getElementsByTagName('span')用来获取内容的span元素标签集合。

Tags.length用来获取p标签集合的中p标签的数量。

flag=1用来设置一个标识,后面代码会用到。

for循环语句用来为每一个p标签赋值,并且为它们绑定事件处理函数,此次for循环中就可以提现第一个span元素的作用了,因为第一个p标签不参与滑动门,所以必须要添加一个空的span标签与其对应,否则for循环在遍历遍历span元素的时候会造成差错。changeNav()事件处理函数能够将改变第一个选项卡p元素的背景颜色为灰色,字体为黑色,并且将第一个选项卡内容span隐藏,并且将相应值的p元素和span设置为当前元素。

四.for循环后面的Tags[flag].className='topC1'和TagsCnt[flag].className='dis'可以设置当页面加载后,默认的当前p元素和span元素都是第一个。

原文地址是:http://www.51texiao.cn/div_cssjiaocheng/2015/0501/511.html

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn