我希望这个div在选择菜单时显示和向上移动

时间:2013-09-16 11:37:15

标签: javascript

我希望此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>

2 个答案:

答案 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)

嗯,如上所述,您的代码中存在一些问题...... 我将其更改为以某种方式工作,但如果要创建菜单样式控件,则需要更改方法。

  • 尝试使用样式类并动态切换,请参阅classList切换
  • 元素ID应以字母开头。
  • 该方法区分大小写
  • id - 是一个变量,不应该是逗号。

使用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>