CSS如何实现滑动门效果

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

时间: 2024-10-22 06:39:34

CSS如何实现滑动门效果的相关文章

[Jquery]滑动门效果

$(function(){    var $box=$("#box");    var $img=$box.find("img");    var imgWidth=$img.eq(0).width();    var exposeWidth=160;    var boxWidth=imgWidth+exposeWidth*($img.length-1);    var translate=imgWidth-exposeWidth;    $box.width(b

【前端】css自适应宽度滑动门菜单

html     css    width  自适应 什么是CSS自适应宽度滑动门菜单? CSS自适应宽度菜单指菜单的宽度可以随着内容的增加而变宽,就拿下边的实例来说,是按4个字的宽度来设计的,如果其中一项为5个字或更多,就放不下了.那么我们就需要让它的宽度可以随着内容的增减而变化,这就是css自适应宽度菜单.         自适应宽度按钮的效果是怎样的呢? 那么,自适应宽度按钮,是怎么实现的呢? 要想实现自适应宽度,需要在文字上增加一个辅助标签,如span,分别在a上和span上设置背景,一

【javascript/css】Javascript+Css实现图片滑动浏览效果

今天用js+css来做一个能够左右滑动的图片浏览效果. 首先写一个结构,包括需要浏览的两张图,以及能够点击来滑动图片的两个按钮. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 5 <script type="text/javascrip

JS实现滑动门效果

html部分 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #d74200 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #289c97 } p.p

JS滑动门效果

效果图: 思路:通过每次鼠标移动至目标上使所有图片重置为初始样式再向左移动目标及其左侧每个图片隐藏部分距离即实现. HTML: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> CSS: <style> #box{border:1px gray solid; margin: 0 aut

css滑动门技术

双重滑动门效果还是比较常用的,其实很好理解: 两个门就好比两个块级的元素重合所形成的效果,看一段代码如下: #Mydoor ul li a:hover{ color:#fff; //设置背景 黑色 background: url(hover.gif); //设置背景 图片,图片周边应为透明,这样才能把背景衬托出来 } 可以看到左侧变化如下 /* *将连接a下的内容变为块级:给右边一个宽度 */ #Mydoor ul li a b{ display:block; //设置为块元素 padding:

8.3 应用滑动门技术的玻璃效果菜单

本例中要实现一个玻璃材质效果的水平菜单.为了表现出立体的视觉效果,以及玻璃的质感.必须借助图像才可以实现,完成后的效果如图1所示. 该实例文件位于网页学习网CSS教程资源的“第8章\03\glass-navi.htm”. 图1 玻璃效果的菜单 本例中用到了两个图像,分别作为整个菜单的背景色平铺使用的,和当鼠标指针经过某个菜单项的时候显示出来的. 从效果图中可以看出,玻璃材质图是一个固定的图像文件,而菜单中的各个菜单项宽窄不一,却都可以完整地显示出来,这是如何实现的呢?这里使用的就是“滑动门”技术

一款CSS+JS+DIV制作的蓝色风格tab滑动门

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>一款CSS+JS+DIV制作的蓝色风格ta

一款经典简洁的CSS滑动门代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ