style.display で動的なページを作る・・・ためのメモ


スポンサーリンク

style.display
使い始めるとメタ便利。

ex.
<div onclick="OpnCls('a1');">ここをクリック</div>
<div id="a1" style="display:none">出たり入ったり/入れたり出したり</div>
<script>
function OpnCls(blockid)
{
var src = document.getElementById(blockid);
if( src.style.display=='none' ){
src.style.display = '';
}else{
src.style.display = 'none';
}
}
</script>


WPの投稿で TEXT モードにして↑を貼り付けてプレビューしてみ。
現れたり消えたりするからww

もひとつ言いたいのは、 <style> も <script>も投稿内にかけるってことだ。
書く場所って決まってると思ってなかったか?www

※WPのエディタを入れたままだと、script に
とかいれられてしまうので 動かない可能性。その時は
がはいらないように scriptのところの改行を削除して1行にしてしまう。


javascript でタブパーツを作る。style.displayの動的なページ、サンプル


仕様:タブで2つのフォームを切り替える。
・アクティブタブの内容表示
・アクティブタブのボタン部のクラスを入れ替える
style.display でボディ部分の表示/非表示
calssName で タブのクラスを交換。

多くのタブパーツがクリックを a タグで受けるけど、そうするとちょっとしたミスでページ位置が移動したり様々な問題をはらんでしまいデバッグにも精神的にもよくないので div エリアクリックでタブを切り替えできるようにした。

こうすることで、タブパーツだけじゃなく、他にも流用しやすくなる。

<div class="tab">
<ul class="tab-menu clearfix">
<li id='li1'>
<div onclick="changewin('1','2');">
お問い合わせ
</div>
</li>
<li id='li2'>
<div onclick="changewin('2','1');">
資料請求フォーム
</div>
</li>
</ul>
<!-- tab-menu -->
<div class="tab-contents">
<div id="id1">
[contact-form-7 id="289" title="お問い合わせ"]
</div>
<div id="id2">
[contact-form-7 id="754" title="資料請求フォーム"]
</div>
</div>
</div>
<style>
.tab-menu {
border-bottom: 6px solid #0063BB; /* タブ下のライン */
list-style: none;
margin-bottom: 0;
padding: 0;
}
.tab-menu > li {
float: left;
margin: 0 8px 0 0;
cursor: pointer;
}
.tab-menu > li > div {
display: block;
padding: 10px 20px;
background: #b8ddda; /* 非アクティブタブの色 */
border-radius: 4px 4px 0 0;
color: #222;
}
.tab-menu > li > div:hover {
background: #91C9E3; /* 非アクティブタブのhover時の色 */
}
.tab-menu >li.selected > div {
background: #0063BB; /* アクティブタブの色 */
color: #fff;
}
.tab-contents {
background: #f7f7f7; /* タブ表示ボディ部の背景色 */
padding: 10px 3%;
}
.tab-contents .hidden {
display: none;
}
@media ( max-width: 767px ) {
.tab-menu > li {
margin: 0 4px 0 0;
}
.tab-menu > li > div {
padding: 5px;
}
}
@media ( max-width: 540px ) {
.tab-menu > li > div {
padding: 3px;
font-size: 1.3rem;
}
}
</style>
<script>
changewin('1','2');
function changewin(onid,ofid)
{
var onsrc = document.getElementById('id'+onid);
var ofsrc = document.getElementById('id'+ofid);
var onlit = document.getElementById('li'+onid);
var oflit = document.getElementById('li'+ofid);
onsrc.style.display = '';
onlit.className = 'selected';
ofsrc.style.display = 'none';
oflit.className = '';
}
</script>

スポンサーリンク