Re: [問題] [js] 顯示與隱藏DIV
※ 引述《ganymade (呀)》之銘言:
: ┌───────────────────┐
: │┌──┐ │
: ││ A │ │
: │└──┘ │
: │ ┌───────────┐ │
: │ │ div │ │
: │ │ │ │
: │ │ ┌───┐ │ │
: │ │ │ B │ │ │
: │ │ └───┘ │ │
: │ └───────────┘ │
: └───────────────────┘
: 如上圖,
: 我在頁面上有一個按鈕A和一個div,div裡有一個按鈕B
: div原來是隱藏的,按了A之後才會顯示
: 我希望做到的效果是當div顯示的時候
: 按了B 或者是 頁面上除了div之外的任何地方
: div都可以被隱藏
: 這樣的javascript該怎麼寫呢
: 請板上高手賜教,感激不盡 Orz
讓我假設你的
button id=a , b (也就是 <input type="button" id="a" value ="a"/> )
div id=d ( <div id="d" style="display:none;">
<input type="button" id="b" value ="b"/>
</div>
)
位置就自己擺啦... o_o
底下用沒有lib的寫法...
1.先在a的onclick上 div的show
onclick="document.getElementById("d").style.display='';"
2.由於我們希望在網頁上除了div的地方按了都會隱藏
所以在body上 onclick 作隱藏的動作(body意旨整個頁面)
<body onclick="document.getElementById("d").style.display='none';">
3.由於我們希望這時候點div以內的事件不要隱藏
事件觸發模型是 div 被按先觸發之後 接著body被按會觸發
所以我們只要在div把它攔截下來就沒事了
<div id="d" onclick="return false;">
<input type="button" id="b" value ="b"/>
</div>
4.因為按了b需要隱藏 所以同2 寫onclick
<input type="button" id="b" value ="b"
onclick="document.getElementById("d").style.display='none';" />
5.再來有一個小bug 由於1也會觸發body的onclick
會變成顯示之後就隱藏,
所以要把1的內容改成
onclick="document.getElementById("d").style.display='';return false;"
--
我沒有寫demo,自己試試看,
我是可以很肯定八九不離十了,而且應該還有很多方式啦 o_o
--
I am a person, and I am always thinking .
Thinking in love , Thinking in life ,
Thinking in why , Thinking in worth.
I can't believe any of what ,
I am just thinking then thinking ,
but worst of all , most of mine is thinking not actioning...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.227.184
推
04/05 22:10, , 1F
04/05 22:10, 1F
推
04/06 10:38, , 2F
04/06 10:38, 2F
推
04/06 13:54, , 3F
04/06 13:54, 3F
推
04/06 20:07, , 4F
04/06 20:07, 4F
推
03/05 11:06, , 5F
03/05 11:06, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章