我一直有一段时间的问题,我似乎无法理解如何解决它,我不知道我做错了什么。错误javascript中的onclick事件
我要做的是当我点击网站上的一个链接时,它需要弹出一个计算器,然后当我点击该计算器上的关闭按钮时,它应该再次消失。我究竟做错了什么!?!? (注:calcButton是一个链接,buttonOff是一个按钮)
function showCalc()
{
alert("button was clicked");
document.getElementById('calculator').style.visibility = "visible";
}
function hideCalc()
{
alert("off button was clicked");
document.getElementById('calculator').style.visibility = "hidden";
}
function main() {
//store top and left values of calculator
calculator.style.top = getStyle(calculator, "top");
calculator.style.left = getStyle(calculator, "left");
document.getElementById('calcButton').onclick = showCalc;
document.getElementById('buttonOff').onclick = hideCalc;
}
window.onload = main;
编辑:
这里是获取样式方法:
function getStyle(object,styleName)
{
if (window.getComputedStyle)
{
return document.defaultView.getComputedStyle(object, null).getPropertyValue(styleName);
}
else if (object.currentStyle)
{
return object.currentStyle[styleName];
}
}
EDIT2:
计算器按钮(这是一个href)
<a href="" id= "calcButton">Calculator</a>
此外,我不认为有些人理解的问题是什么。问题是,当我点击计算器变成可见的,然后再隐藏几乎瞬间
我想你设置了'onclick'错误。应该是:'document.getElementById('calcButton')。onclick = showCalc();'和 'document.getElementById('buttonOff')。onclick = hideCalc();' – turnt 2013-02-22 03:56:17
@Cygwinnian:不,它不是。 'onclick'应该是一个函数的引用,而'showCalc()'运行该函数并且具有函数返回值的值。 – 2013-02-22 03:59:56
你的浏览器的JavaScript控制台有任何错误吗? – 2013-02-22 04:01:01