我在使用Javascript更改对象显示属性时遇到问题。
我使用mysql
从php
数据库中的数据填充表格,并且对于每一行,我根据需要创建DIV
display: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我应该向下滚动,因为我的页面是一个报告页面,它可能是一个很长的页面,这个根本不是一件好事!
我无法理解为什么会发生这种情况,有没有办法阻止这种自动滚动?
答案 0 :(得分: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;
}
答案 1 :(得分: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>