我遇到了切換下拉菜單或列表中的問題。切換下拉列表支持打開
問題是,當我加載頁面時,菜單總是打開(#text_box)。
它應該關閉,所以當用戶點擊「打開我」按鈕後,將打開。
我已將代碼放在JSFiddle上,這裏根本不起作用,它不打開或關閉。我已經複製了所有必要的代碼部分:html,css,javascript。
主要問題是在瀏覽器中打開頁面時,處於開始狀態的菜單/列表始終打開。
此外,我正在使它能夠響應桌面,平板電腦和手機。 你能幫我解決這個問題嗎?由於
HTML:
<button onclick="toggle_visibility('text_box');">Open Me</button>
<div id="text_box">
<ul >
<li>Test_1</li>
<li>Test_2</li>
<li>Test_3</li>
<li>Test_4</li>
<li>Test_5</li>
</ul>
</div>
的JavaScript:
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
CSS:
button {
padding: 10px 15px;
background: #4479BA;
color: #FFF;
text-decoration: none;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: solid 1px #20538D;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
-webkit-transition-duration: 0.2s;
-moz-transition-duration: 0.2s;
transition-duration: 0.2s;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
}
button:hover {
background: #356094;
border: solid 1px #2A4E77;
text-decoration: none;
}
button:active {
-webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
-moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
background: #2E5481;
border: solid 1px #203E5F;
}
#text_box {
width: 200px;
margin-top: 0px;
padding: 2px 0px;
background:rgba(102,102,102,1);
color: #fff;
}
看看我的答案,它可能會幫助你。 – divy3993
謝謝大家的幫助。我發現每個答案都有幫助。我將不得不從@ divy3993實施解決方案,因爲我已經使用JavaScript。我也將開始學習和實現JQuery,因爲它很容易和有趣。我將把它用於我的下一個項目。謝謝你們! :) – Isabella
很高興它幫助你。 – divy3993