我希望此div在选择菜单时显示并向上移动。请任何人都可以帮助解决这个问题。非常感谢
<html><head>
<script type="text/javascript">
<!--
var divobject = null;
function init(id){
divobject = document.getElementById('id');
divobject.style.left = '25px';
divobject.style.top = '580px';
divobject.style.visibility = 'hidden';
}
function moveUp(id){
divobject = document.getElementById(id);
divobject.style.visibility = 'visible';
divobject.style.left = '25px';
divobject.style.top = parseInt(div.style.top) + 0 + 'px';
divobject.style.position = 'absolute';
}
document.onclick =init;
window.onload =init;
//-->
</script>
</head>
<body>
<a href="javascript:void(moveup('1'));">show div</a>
<div id="1">tytt</div>
</body>
答案 0 :(得分:0)
不要使用以数字开头的ID
将您的代码更改为
function init(id){
divobject = document.getElementById(id);
删除这些行,因为您没有向函数发送任何参数,因此会生成错误,因为id
将是未定义的
document.onclick =init;
window.onload =init;
如果你想为现有的样式top添加任何值,你可以使用任何值而不是0,但是将它括在大括号中以便添加,而不是字符串连接
divobject.style.top = (parseInt(divobject.style.top) + 0) + 'px';
答案 1 :(得分:0)
嗯,如上所述,您的代码中存在一些问题...... 我将其更改为以某种方式工作,但如果要创建菜单样式控件,则需要更改方法。
使用dev tools \ debugger。
<html><head>
<script type="text/javascript">
<!--
var divobject = null;
function init(id){
divobject = document.getElementById(id);
divobject.style.left = '25px';
divobject.style.top = '580px';
divobject.style.visibility = 'hidden';
}
function moveup(id){
divobject = document.getElementById(id);
divobject.style.visibility = 'visible';
divobject.style.left = '25px';
divobject.style.top = parseInt(div.style.top) + 0 + 'px';
divobject.style.position = 'absolute';
}
window.onload = function(e) {
init("elt");
}
//-->
</script>
</head>
<body>
<a href="javascript:void(0);" onclick="moveup('elt')">show div</a>
<div id="elt">tytt</div>
</body>