ホームページ >ウェブフロントエンド >htmlチュートリアル >CSS_html/css_WEB-ITnose で引き戸効果を実現する方法
CSS でスライディング ドア効果を実装する方法:
いわゆるスライディング ドアとタブ タブは実際には同じ意味を持ちます。コード例は次のとおりです。
<!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>
上記のコードが実装されています 最も基本的な引き戸エフェクトで、これも Web で引用されている例です。この関数の実装方法を簡単に紹介します:
1. ヘッダーで 4 つの p 要素を使用してナビゲーション タイトルを作成し、左フローティングを使用して 4 つの p 要素を一列に配置し、デフォルトの CSS プロパティを設定します。次の 3 つ。
2. 回転内容に関しては、いくつかのスパン要素がリストされて表示されているだけですが、以下で紹介する最初のスパンの存在理由に戸惑うかもしれません。
3. 上記はコードの div+css 実装です。次に、スライディング ドアを実装するコードを制御する方法を説明します。
document.getElementById('NewsTop_tit').getElementsByTagName('p') ) は、タイトルの p タグ コレクションを取得するために使用されます。 document.getElementById('NewsTop_cnt').getElementsByTagName('span') は、コンテンツのspan要素タグのコレクションを取得するために使用されます。
Tags.length は、p タグ セット内の p タグの数を取得するために使用されます。
flag=1 は、次のコードで使用されるフラグを設定するために使用されます。
for ループ ステートメントは、各 p タグに値を割り当て、それらにイベント処理関数をバインドするために使用されます。この for ループでは、最初の p タグがそのため、それに対応する空のspanタグを追加する必要があります。そうしないと、span要素を走査するときにforループでエラーが発生します。 changeNav() イベント ハンドラーは、最初のタブの p 要素の背景色を灰色、フォントを黒に変更し、最初のタブのコンテンツ スパンを非表示にし、p 要素と対応する値のスパンを設定できます。現在の要素に。
4. for ループの後の Tags[flag].className='topC1' および TagsCnt[flag].className='dis' を設定すると、ページが読み込まれた後に最初にデフォルトの現在の p 要素と span 要素を作成できます。
元のアドレスは次のとおりです: http://www.51texiao.cn/div_cssjiaocheng/2015/0501/511.html