DOMで作る折りたたみ式記事
プレビュー
↓スマートフォンの方はこちらからプレビューできます。
DOMで作る折りたたみ式記事 - js do it
コード
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>まずはやってみる:方丈記編</title> <link rel="stylesheet" href="sample01.css"> <script src="1_01.js"></script> <!--[if lte IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!--[if lte IE 9]> <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script> <![endif]--> </head> <body> <div id="whatnew"> <h1><img src="images/whatsnew.png" width="398" height="25" alt="最新情報"></h1> <div class="section first"> <h2 id="news1 Title">方丈記<br>【ゆく河の流れ】</h2> <p id="news1Paragraph">ゆく河の流れは絶えずして、しかももとの水にあらず。淀みに浮ぶうたかたは、かつ消え、かつ結びて、久しくとどまりたる例(ためし)なし。世の中にある人と、栖(すみか)とまたかくのごとし。<br> たましきの都のうちに、棟を並べ、甍(いらか)を争へる、高き、いやしき、人の住ひは、世々を経て尽きせぬものなれど、これをまことかと尋ねれば、昔ありし家は稀(まれ)なり。或は去年(こぞ)焼けて、今年作れり。或は大家(おほいへ)亡びて小家(こいへ)となる。住む人もこれに同じ。所も変らず、人も多かれど、いにしへ見し人は、二三十人が中(うち)に、わづかにひとりふたりなり。朝(あした)に死に、夕(ゆふべ)に生るるならひ、ただ水の泡にぞ似たりける。<br> 知らず、生れ死ぬる人、何方(いずかた)より来たりて、何方へか去る。また知らず、仮の宿り、誰(た)が為にか心を悩まし、何によりてか目を喜ばしむる。その主と栖と、無常を争ふさま、いはばあさがほの露に異ならず。或は露落ちて花残れり。残るといへども朝日に枯れぬ。或は花しぼみて露なほ消えず。消えずといへども夕を待つ事なし。</p> </div> <div class="section second"> <h2 id="news2 Title">方丈記<br>【安元の大火】</h2> <p id="news2Paragraph">予(われ)、ものの心を知れりしより、四十(よそぢ)あまりの春秋(しゅんじう)をおくれるあひだに、世の不思議を見る事ややたびたびになりぬ。<br> 去(いんし)、安元三年四月(うづき)廿八日かとよ。風烈(はげ)しく吹きて、静かならざりし夜、戌(いぬ)の時(とき)許(ばかり)、都の東南(たつみ)より火出で来て、西北(いぬゐ)に至る。はてには朱雀門・大極殿・大学寮・民部省などまで移りて、一夜のうちに塵灰(ちりはい)となりにき。<br> 火(ほ)もとは、樋口富(ひぐちとみ)の小路(こうじ)とかや。舞人(まひびと)を宿せる仮屋より出で来たりけるとなん。咲き迷ふ風に、とかく移りゆくほどに、扇(あふぎ)をひろげたるがごとく末広になりぬ。遠き家は煙(けぶり)に咽(むせ)び、近きあたりはひたすら焔(ほのほ)を地に吹きつけたり。空には灰を吹き立てたれば、火の光に映じて、あまねく紅(くれなゐ)なる中に、風に堪へず、吹き切られたる焔、飛ぶが如くして一二町を越えつつ移りゆく。その中の人、現(うつ)し心あらむや。或(あるい)は煙に咽びて倒れ伏し、或は焔にまぐれてたちまちに死ぬ。或は身ひとつ、からうじて逃るるも、資財を取り出づるに及ばず。七珍万宝さながら灰燼(くわいじん)となりにき。その費え、いくそばくぞ。そのたび、公卿の家十六焼けたり。ましてその外、数へ知るに及ばず。惣(すべ)て都のうち、三分が一に及べりとぞ。男女死ぬるもの数十人、馬・牛のたぐひ辺際を知らず。<br> 人の営み、皆愚かなるなかに、さしも危ふき京中の家をつくるとて、宝を費し、心を悩ます事は、すぐれてあぢきなくぞ侍る。</p> </div> </div> </body> </html>
JavaScript
window.onload = function(){ title1 = document.getElementById('news1 Title'); title2 = document.getElementById('news2 Title'); para1 = document.getElementById('news1Paragraph'); para2 = document.getElementById('news2Paragraph'); para1.style.display ='none'; para2.style.display ='none'; title1.onclick = function(){ if(para1.style.display == "none"){ para1.style.display ='block'; } else{ para1.style.display ='none'; } } title2.onclick = function(){ if(para2.style.display == "none"){ para2.style.display ='block'; } else{ para2.style.display ='none'; } } }
CSS
@charset "UTF-8"; * { margin:0; padding:0; } body { background-color:#f1f1f1; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif } #whatnew { background-color:#fff; margin:30px auto; padding:40px 60px 60px; width:400px; border:1px solid #ddd; } #whatnew h1 { padding:0 5px 30px; } #whatnew .section { background-color:#f1f1f1; padding:5px; width:396px; } #whatnew .section.first { padding-bottom:0; } #whatnew h2 { font-size:14px; color:#3166B2; padding:0 0 0 50px; background-image:url(http://jsrun.it/assets/4/X/r/b/4XrbM.png); background-repeat:no-repeat; cursor:pointer; height:44px; border:1px solid #ddd; } #whatnew p { background-color:#fff; padding:10px; border:1px solid #ddd; font-size:12px; }