ホームページ >ウェブフロントエンド >htmlチュートリアル >CSDNの非表示サイドバー機能はどのように実装されていますか? _html/css_WEB-ITnose
例えばこのページの「サイドバーを隠す」
http://bbs.csdn.net/
ソースコードを見せて
実はCSSを設定することですそして、display style.display=' block', Hide style.display='node'
例を書きましたが、csdn の実装とは異なる可能性があります
<style> html,body{ width:100%;height:100%;padding:0px;margin:0px;overflow:hidden } #ifr1{height:100%;width:200px;float:left; } #ifr2{height:100%;width:100px float:right; } #hand{ position: absolute; z-index: 99; left: 200px; top: 48%; height: 50px; word-break: break-all; display: block; width: 20px; background: #fff; text-align: center; border: 1px solid #ccf; } </style> <iframe id="ifr1" src="http://bbs.csdn.net/left_menu"></iframe> <iframe id="ifr2" src="http://bbs.csdn.net/home"></iframe> <div id="hand" >隐藏</div> <script> function $(id){return document.getElementById(id) } var w,hand=$('hand'),ifr1=$('ifr1'),ifr2=$('ifr2'); hand.onclick=function(){ //点击隐藏按钮 var sty=ifr1.style,disp; sty.display=sty.display=='none'?'block':'none'; doResize(); } function doResize(){ //调整位置大小 var w=document.body.clientWidth; var sty=ifr1.style,disp; if(sty.display=='none'){ ifr2.style.width='100%'; hand.style.left='1px'; }else{ ifr2.style.width=w-220+'px'; hand.style.left='200px'; } } window.onload=window.onresize=doResize; doResize() </script>
csdn はフレームセットを使用し、フレームセットの Cols 属性を 0 に設定します、 *ナビゲーションを縮小、ナビゲーションを 230 に設定*
fd881f26869927228a38b4731a36d689
e5dc80fe58ebad587381229c0c75f761 e72f99c72d4f4be183da6da775eb999a ;
99152fb3d6e5efbc1c1c688b8a326b48
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>左右布局侧边栏演示</title> <link href="http://csdnimg.cn/www/images/favicon.ico" rel="SHORTCUT ICON"><style> //html,body{ width:100%;height:100%;padding:0px;margin:0px;overflow:hidden } //#ifr1{height:100%;width:200px;float:left; } //#ifr2{height:100%;width:100px float:right; } #hand{ position: absolute; // 绝对定位 z-index: 10001; // 优先级最高(离用户最近) left: 200px; top: 48%; height: 50px; word-break: break-all; display: block; width: 20px; //background: #fff; text-align: center; border: 1px solid #ccf; } </style> </head> <frameset cols="230,*" frameborder="no" border="0" framespacing="0"> <frame src="左右框架窗体1.html" name="leftFrame" noresize="noresize" id="ifr1" title="leftFrame" /> <frame src="左右框架窗体1.html" name="mainFrame" id="ifr2" title="mainFrame" /> </frameset> <noframes> <div id="hand" >隐藏</div><script> function $(id){ return document.getElementById(id) } var w,hand=$('hand'),ifr1=$('ifr1'),ifr2=$('ifr2'); hand.onclick=function(){ //点击隐藏按钮 var sty=ifr1.style,disp; sty.display=sty.display=='none'?'block':'none'; doResize(); } function doResize(){ //调整位置大小 var w=document.body.clientWidth; var sty=ifr1.style,disp; if(sty.display=='none'){ ifr2.style.width='100%'; hand.style.left='1px'; }else{ ifr2.style.width=w-220+'px'; hand.style.left='200px'; } } window.onload=window.onresize=doResize; doResize() </script> <body> </body> </noframes></html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>CSDN论坛首页 - CSDN.NET</title> <script src="/assets/application-1a33bfd3d5ee7e433197442aeb9c03b6.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { main_page_js.index_page(); }); </script> <link href="http://csdnimg.cn/www/images/favicon.ico" rel="SHORTCUT ICON"> </head> <frameset cols="230,*" frameborder="no" border="0" framespacing="0"> <frame src="/left_menu" name="leftFrame" noresize="noresize" id="leftFrame" title="leftFrame" /> <frame src="/home" name="mainFrame" id="mainFrame" title="mainFrame" /> </frameset> <noframes> <body> </body> </noframes></html>
皆さんの方法を調べたところ、Aoyou や Google などの他のアプリをクリックしても反応しません。 コードは次のとおりです。 left_close.html ファイル ここで、上記と同じディレクトリに置きます:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>左右布局侧边栏演示</title> </head><frameset rows="*" name="top_function" id="top_function" frameborder="NO" border="0" framespacing="0"> <frameset cols="20%,20,*" name="left_function" id="left_function" frameborder="NO" border="0" framespacing="0"> <frame src="left.html" name="leftFrame" id="leftFrame" title="leftFrame" /><frame src="left_close.html" name="left_close" id="left_close" scrolling="NO" noresize="noresize" title="left_close" style="border-color:#FF0000; border-style:solid; border-width:1px; padding-right:2" /> <frame src="right.html" name="mainFrame" id="mainFrame" title="mainFrame" /> </frameset></frameset> <noframes> <body><p>此网页使用了框架,但您的浏览器不支持框架。</p> </body> </noframes></html>
上司、見てみるのを手伝ってください!お願いします!
これも効果はありません:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>关闭和显示侧边栏</title><SCRIPT LANGUAGE="javascript"><!--function shleft(){ if (parent.left_function.cols!="20%,20,*"){ parent.left_function.cols="20%,20,*" } else{ parent.left_function.cols="0,20,*" }}//--></SCRIPT></head><body onclick="shleft();"></body></html>
、スクリプトを書くのが最も簡単です。 。 。