java脚本中的非模态警报消息,由按钮激活
Non Modal Alert Messages in java script, activated by a button
当使用 java 脚本按下按钮时,我无法显示非模态警报。任何帮助都会有很长的路要走!
<html>
<head>
<title> Non-Modal Alert Messages</title>
<script type = "text/javascript">
function message1 (msg) {
document.getElementById("message1").style.display = "block";
document.getElementById('msg').innerHTML = msg;
}
function messageHide() {
document.getElementById('message1').style.display= "none";
}
</script>
</head>
<body>
<div id = "messageone"></div>
<input type="button" value = "message1" onclick = "message1('Hello!! ');">
<input type="button" value = "message2" onclick = "message1('How are you?');">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</body>
<html>
代码的问题在于函数全局不可用。您必须将函数添加到对象window
。例如 window.message1 = message1
以下代码正在执行您需要的操作。你可以在jsFiddle找到相同的代码。
我还建议使用 jQuery,因为附加点击处理程序要容易得多。但是对于简单的东西,就像你正在做一样
。
(function() {
var msgDiv = document.getElementById('msg');
function getStyle(id, name) {
var element = document.getElementById(id);
return element.currentStyle ? element.currentStyle[name] : window.getComputedStyle ? window.getComputedStyle(element, null).getPropertyValue(name) : null;
}
function message(msg) {
msgDiv.style.display = "block";
msgDiv.innerHTML = msg;
}
function messageHide() {
msgDiv.style.display = "none";
}
function messageToggle() {
var display = getStyle('msg', 'display'); // required to get computed css style if accessed directly you would get an empty string back at first click
// see http://stackoverflow.com/questions/16748813/mydiv-style-display-returns-blank-when-set-in-master-stylesheet
msgDiv.style.display = (display == 'none') ? 'block' : 'none';
}
// make your function avaible globally
window.message = message;
window.messageToggle = messageToggle;
})();
#msg {
display: none;
}
<div>
<input type="button" value="message1" onclick="message('Hello!! ');" />
<input type="button" value="message2" onclick="message('How are you?');" />
<button onclick='messageToggle()'>Toggle message</button>
<div id="msg">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
anim id est laborum</div>
</div>
相关文章:
- 如何在asp.net按钮上显示Bootstrap Autocloseable警报消息
- 如何显示没有按钮且在指定时间段后消失的消息框
- 当用户单击保存按钮时,标签会显示一条消息
- 我该怎么做才能防止在用户单击后退按钮时出现咆哮消息
- 如何在 jquery 中的速率按钮下方显示消息状态
- 在单选按钮验证中同时显示错误消息
- 如何在php中添加按钮而不是错误状态和成功消息
- 点击按钮dons'它在IE9中不起作用,但没有错误消息(它在chrome中起作用)
- Laravel提交按钮上的确认消息
- 单击“点赞”按钮时显示消息
- 按钮上的数据加载消息无法与ajax调用一起工作
- 如何在javascript中按下后退按钮时显示警报消息
- 如何让窗口消息保持不变,直到用户单击按钮才离开页面
- 阻止使用引导框提交按钮,确认并在消息上显示其值
- 在 JavaScript 警报消息框的“确定”按钮上分配一个值
- 如何连续按下 2 个按钮时输出消息
- 获取提交按钮的值,以作为 JavaScript 中警报消息的条件
- 单选按钮单击删除错误消息 jQuery
- 有没有可能的方法可以在一次ASP按钮单击中同时显示JavaScript和服务器端代码中的消息
- 如何浏览媒体播放器主题上的下一个和上一个消息按钮