下拉菜单 java 脚本
Dropdown menu java script
我想隐藏右侧的下拉菜单,以便在单击设置徽标时出现,但由于某种原因它不起作用。如果有人可以看看我的代码并看看问题是什么,那将是一个很大的帮助。
function Startgame() {
var x = Math.floor(Math.random() * 13) + 1;
document.getElementById('computer').src = 'card' + x + '.gif';
document.getElementById('startButton').disabled = "false";
}
function reset() {
total = 0
document.getElementById('computer').src = 'dieDefault.gif';
document.getElementById('img2').src = 'dieDefault.gif';
document.getElementById('score').innerHTML = "0" + total;
}
function puppies() {
document.getElementById('higher').disabled = "false";
document.getElementById('equal').disabled = "false";
document.getElementById('lower').disabled = "false";
}
/////DROPDOWN MENU/////////////
var menuIsOpen = "false";
window.onload = initialise;
function initialise() {
document.getElementById('togglemenu').onclick = navigate;
}
function navigate() {
var panel = document.getElementById("menu");
if (menuIsOpen) {
panel.style.right = "-40em";
menuIsOpen = "false";
document.getElementById('togglemenu').innerHTML = "Open";
} else {
panel.style.top = "0em";
menuIsOpen = "true";
document.getElementById('togglemenu').innerHTML = "Close";
}
}
<div id="settings">
<ul id="menu">
<b> Colour</b>
<form action="menu">
<li>
<input type="radio" value="blackbackground">Black BG</li>
<li>
<input type="radio" value="graybackground">Gray BG</li>
<li id="togglemenu">
<img src="settings_img.png" width="60" hieght="60">
</li>
</form>
</div>
<div id="bodydiv">
<h1> Card Game</h1>
<img src="back.gif" id="computer">
<div id="comp">Computer</div>
<div id="arrow">
<img src="arrow2.png" width="100" height="100">
</div>
<img src="back.gif" id="player">
<div id="play">Player</div>
<div id="kittens">
<button id="startButton" onclick="Startgame();">Start Game</button>
<div id="buttons_1">
<button id="higher" onload="puppies();">Higher</button>
<button id="equal">Equal</button>
<button id="lower">Lower</button>
</div>
<button id="draw" onclick="Startgame();">Draw your card</button>
<div id="resetscore"> <a href="url">Reset Score </a>
</div>
</div>
<div id="score"></div>
</div>
您的代码正在消除不一致和错误,所以我什至不确定从哪里开始。
几件事:
-
如果你想检查一个变量是否为真,它的值应该是布尔值(
true
或false
),而不是文本("true"
或"false"
);如果你把布尔值放在引号之间,它就会变成文本,你将无法像检查它那样检查它。因此,如果您说var value = "true"
那么检查它将是if (value == "true")
而不是if (value)
。后者仅在您设置var value = true
(不带引号)时才有效。 -
您必须设置元素的基本 CSS 值才能
top
工作,即将其设置为position:relative; top:-40em
(默认隐藏)。 -
将
document.getElementById('togglemenu').onclick = navigate;
替换为document.getElementById('togglemenu').onclick = function() { navigate() };
-
如果将 CSS 设置为最初隐藏菜单,则无需
initialize
。
这是删除绒毛的更新代码,因为它无关紧要:
var menuIsOpen = false;
document.getElementById('togglemenu').onclick = function() { navigate() };
function navigate() {
var panel = document.getElementById("menu");
if (menuIsOpen) {
panel.style.top = "-40em";
menuIsOpen = false;
document.getElementById('togglemenu').innerHTML = "Open";
} else {
panel.style.top = "0em";
menuIsOpen = true;
document.getElementById('togglemenu').innerHTML = "Close";
}
}
#menu {
position:relative;
top:-40em;
}
<div id="settings">
<ul> <b> Settings</b>
<li id="togglemenu">
<img src="http://placehold.it/140x100" width="60" hieght="60" />
</li>
</ul>
<ul id="menu"> <b> Colour</b>
<form action="menu">
<li>
<input type="radio" value="blackbackground" />Black BG</li>
<li>
<input type="radio" value="graybackground" />Gray BG</li>
</form>
</ul>
</div>
您在total = 0
后错过了分号,HTML 无效。看看这个
使用JavaScript来做到这一点,有某种脚本来隐藏菜单,然后当用户点击你的标志时,使用onclick
调用一个函数来显示你的div。你的代码没有多大帮助,我仍然对什么不起作用感到非常困惑。
看看这个
- 借助asp.net验证或java脚本对多个文本进行验证
- Java脚本时间添加
- 如何将字符串值从php页面发送到java脚本页面
- java脚本在Chrome和其他浏览器中对LocaleTimeString的不同行为
- Java脚本将URL转换为已保存的URL时出错
- 如何使用Java脚本创建提交按钮's的拖放功能
- 如何在java脚本中验证手机号码
- 使用java脚本更改onClick事件中菜单选项卡的颜色
- 无限的java脚本循环
- 无法在java脚本中调用图像的点击事件函数
- 如何在java中获得浏览器的java脚本控制台输出
- 我的html表单无法验证.请参阅代码片段中的html代码和java脚本
- java脚本的数学方程显示错误的答案
- AngularJS:如何使用java脚本函数更改跨度的ng-show条件
- 如何在java脚本中传递对象数组
- java脚本网站最佳实践
- 无法将java脚本函数与Panel'绑定;s OnLoad事件
- java安全doPrivileged方法如何阻止任意脚本
- Java脚本访问Location标头's OAuth 2的URL片段
- 在 HTML 上运行两个脚本(Java 脚本)