0

我希望这个 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>
4

2 回答 2

0

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

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

使用开发工具\调试器。

    <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>
于 2013-09-16T11:56:52.433 回答
0

不要使用以数字开头的 id

将您的代码更改为此

function init(id){
   divobject = document.getElementById(id);

删除这些行,因为您没有向函数发送任何参数,因此它将产生错误,因为id将是未定义的

document.onclick =init; 
window.onload =init;

如果你想为现有样式顶部添加任何值,你可以使用任何值而不是 0,但将它括在大括号中以便进行添加,而不是字符串连接

divobject.style.top = (parseInt(divobject.style.top) + 0) + 'px';
于 2013-09-16T11:40:40.800 回答