1

我在使用 Javascript 更改对象显示属性时遇到问题。

mysql我使用 . 从数据库中的数据填充一个表php,并为每一行创建一个我想要的DIVwithdisplay:none属性,并且我有一个简单的 JavaScript 函数来显示/隐藏div. 这是css为了div

display:none; /*initially menu item is hidden*/
position: absolute; /*absolute positioning to float*/
background-color:#fff;
width:230px;
min-height:120px;
right:60px;
border:5px solid #ccc;
text-align:right;
direction:rtl;
padding:10px;
border-radius: 10px 10px 10px 10px; 
-moz-border-radius: 10px 10px 10px 10px; 
-webkit-border-radius: 10px 10px 10px 10px; 

这是javascript:

function showfield (a) {
    document.getElementById(a).style.display = "block";  
}
function hidefield (a) {
    document.getElementById(a).style.display = "none";  
}

该功能有效,并且 div 显示在他们必须的地方,但问题是:

当我调用 JavaScript 函数来显示时,它会显示 div,但页面会滚动到顶部,为了查看打开的 div,我应该向下滚动,因为我的页面是报告页面,它可能是一个长长的页面,这不是好事发生了!

我不明白为什么会发生这种情况,有没有办法防止这种自动滚动?

4

2 回答 2

0

试试这个......

html

 <a style="text-decoration:none; color:black;" href="#<?php echo("a".$cntr); ?>" onclick="return showfield(<?php echo($cntr); ?>)"><?php echo($cntr); ?></a>

JAVASCRIPT

function showfield(a){
   document.getElementById(a).style.display = "block";
   return false;
}
于 2012-12-26T09:57:34.987 回答
0

请尝试下面的代码它对我有用。

<script>
 function showfield(a)
  {
    document.getElementById(a).style.display = "block";  
  }
   function hidefield(a)
  {
      alert(a);
    document.getElementById(a).style.display = "none";  
  }
</script>
<a href="javascript:void(0)" onclick="showfield('myid')">show</a>
<a href="javascript:void(0)" onclick="hidefield('myid');">hide</a>

<div id="myid">test content goes here</div>
于 2012-12-26T10:04:04.093 回答