在线客服:  

「南宁烟寒网络」提供南宁网站建设、网站策划、南宁网页制作、网站设计、网站改版、南宁SEO优化、网站维护、南宁网站优化、南宁网站推广、广告设计等服务..

咨询热线

在线客服

24小时免费咨询电话:18978941786

客服时间:上午9:30~下午6点

当前位置:首页>> 技术文章 >> Web标准 >> CSS实例:精简代码的兼容各浏览器的滑动门

CSS实例:精简代码的兼容各浏览器的滑动门

收藏 分享 发布日期:2012-2-12 16:30:40    编辑:admin  文章来源:网站建设教学网  点击率:

CSS滑动门效果(改进版,代码少,可根据自己需要任意修改,兼容各浏览器)

截图中效果就是 css滑动门效果,css+div滑动门效果在网页上非常常见,应用范围很广泛,可以减少网页空间的占用,把相同的类别可以归类到一起,用CSS滑动门而实现效果。网上很多CSS+JS滑动门效果都不是很好, 要么太固定了,要么就是内容里面不能再插入DIV标签。这个版本是同事帮我改进的,用起来非常方便。

 


css+div滑动门效果 (预览页面有两个例子,一个是点击触发事件,一个是鼠标滑过实现效果,onclick 和onmouseover 不同)

<!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-Type" content="text/html; charset=gb2312" />
<style type="text/css">
*{margin:0;padding:0;}
body{margin:50px;font-size:12px;color:#666;}
li{list-style:none;}
div{width:210px;}
#tab1 ,#tab2{width:398px;height:34px;border:1px #cfedff solid;border-bottom:0;background:url(images/title.gif) repeat-x;}
#tab1 ul ,#tab2 ul{margin:0;padding:0;}
#tab1 li,#tab2 li{float:left;padding:0 30px;height:34px;line-height:34px;text-align:center;border-right:1px #ebf7ff solid;cursor:pointer;}
#tab1 li.now,#tab2 li.now{color:#5299c4;background:#fff;font-weight:bold;}
.tablist{width:378px;height:100px;padding:10px;font-size:14px;line-height:24px;border:1px #cfedff solid;border-top:0;display:none;}
.block{display:block; }
</style>
<script type="text/javascript">
function setTab(m,n){
var menu=document.getElementById("tab"+m).getElementsByTagName("li");
var div=document.getElementById("tablist"+m).getElementsByTagName("div");
var showdiv=[];
for (i=0; j=div[i]; i++){
if ((" "+div[i].className+" ").indexOf(" tablist ")!=-1){
showdiv.push(div[i]);
}
}
for(i=0;i<menu.length;i++)
{
menu[i].className=i==n?"now":"";
showdiv[i].style.display=i==n?"block":"none";
}
}
</script>
<title>CSS中的滑动门效果</title>
</head>
<body>
<div id="tab1">
<ul>
<li onmouseover="setTab(1,0)" class="now">第一行</li>
<li onmouseover="setTab(1,1)">第二行</li>
<li onmouseover="setTab(1,2)">第三行</li>
<li onmouseover="setTab(1,3)">第四行</li>
</ul>
</div>
<div id="tablist1">
<div class="tablist block">
<span><div>第一行</div></span>
</div>
<div class="tablist">
<span>第二行 </span>
</div>
<div class="tablist">
<span>第三行 </span>
</div>
<div class="tablist">
<span>第四行</span>
</div>
</div>
<br /><br /><br />
<div id="tab2">
<ul>
<li onclick="setTab(2,0)" class="now">第一行</li>
<li onclick="setTab(2,1)">第二行</li>
<li onclick="setTab(2,2)">第三行</li>
</ul>
</div>
<div id="tablist2">
<div class="tablist block">
第一行信息
</div>
<div class="tablist">
<span>第二行</span>
</div>
<div class="tablist">
<span>第三行</span>
</div>
</div>
</body>
</html>
 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
JS主要的是获取你鼠标点击后,控制该隐藏或该显示的对应层。这样就实现了滑动门效果。
css+div滑动门效果全部代码如下:
<!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-Type" content="text/html; charset=gb2312" />
<style type="text/css">
    *{margin:0;padding:0;}
    body{margin:50px;font-size:12px;color:#666;}
    li{list-style:none;}
    div{width:210px;}
    #tab1 ,#tab2{width:398px;height:34px;border:1px #cfedff solid;border-bottom:0;background:url(images/title.gif) repeat-x;}
    #tab1 ul ,#tab2 ul{margin:0;padding:0;}
    #tab1 li,#tab2 li{float:left;padding:0 30px;height:34px;line-height:34px;text-align:center;border-right:1px #ebf7ff solid;cursor:pointer;}
    #tab1 li.now,#tab2 li.now{color:#5299c4;background:#fff;font-weight:bold;}
    .tablist{width:378px;height:100px;padding:10px;font-size:14px;line-height:24px;border:1px #cfedff solid;border-top:0;display:none;}
    .block{display:block; }
   
</style>
<script type="text/javascript">

function setTab(m,n){
    var menu=document.getElementById("tab"+m).getElementsByTagName("li"); 
    var div=document.getElementById("tablist"+m).getElementsByTagName("div");
   
    var showdiv=[];
    for (i=0; j=div[i]; i++){
      if ((" "+div[i].className+" ").indexOf(" tablist ")!=-1){
       showdiv.push(div[i]);
      }
    }
    for(i=0;i<menu.length;i++)
    {
        menu[i].className=i==n?"now":"";
        showdiv[i].style.display=i==n?"block":"none"; 
    }
}
</script>
<title>CSS中的滑动门效果_365CSS.CN</title>
</head>
<body>
 <div id="tab1">
        <ul>
            <li onmouseover="setTab(1,0)" class="now">第一行</li>
            <li onmouseover="setTab(1,1)">第二行</li>
            <li onmouseover="setTab(1,2)">第三行</li>
            <li onmouseover="setTab(1,3)">第四行</li>
        </ul>
 </div>
    <div id="tablist1">
        <div class="tablist block">
            <span><div>第一行</div></span>
        </div>
        <div class="tablist">
           <span>第二行 </span>
        </div>
        <div class="tablist">
         <span>第三行 </span>
        </div>
        <div class="tablist">
         <span>第四行</span>
        </div>
    </div>
   
   
   
    <br /><br /><br />
    <div id="tab2">
        <ul>
            <li onclick="setTab(2,0)" class="now">第一行</li>
            <li onclick="setTab(2,1)">第二行</li>
            <li onclick="setTab(2,2)">第三行</li>
          
        </ul>
    </div>
    <div id="tablist2">
        <div class="tablist block">
        第一行信息
        </div>
        <div class="tablist">
        <span>第二行</span>
        </div>
        <div class="tablist">
        <span>第三行</span>
        </div>
      
    </div>
</body>
</html>

本文章由南宁网站建设南宁网站优化南宁网络公司整理,转载请注明出处:http://www.xqgg.net/

关于我们 | 域名主机 | 建站套餐 | 企业动态 | 成功案例 | 网站推广 | 建站知识 | 常见问题 | 联系我们

南宁烟寒网络竭诚为您免费提供南宁网站建设南宁网站设计南宁网站优化、维护以及网站技术很方面的网络服务!

南宁网站建设南宁网络公司咨询热线电话:0771-5306126 18967841786(24小时全天电话)

烟寒网络 - 让你进一步走向成功