Javascript以保持在特定的div上

Javascript以保持在特定的div上,javascript,Javascript,下面是我用于div内容拖放功能的代码 <style type="text/css"> .gap { border:1px solid black } </style> <script type="text/javascript"> function toggle_visibility(id,nana) { var e =document.getElementById(id); var label = document.getElemen

下面是我用于div内容拖放功能的代码

<style type="text/css">
.gap
{

 border:1px solid black

}
</style>

<script type="text/javascript">


function toggle_visibility(id,nana) {
   var e =document.getElementById(id);
   var label = document.getElementById(nana);

   if(e.style.display == 'none')
    {
      label.innerHTML = label.innerHTML.replace("[+]","[-]");
      e.style.display = 'block';
      //col.innerHTML=valu;
    }
   else
   {
      label.innerHTML = label.innerHTML.replace("[-]","[+]");
      e.style.display = 'none';

   }
}    

    function edit(id,item)
    {
       var e = document.getElementById(id);
       var f = document.getElementById(item);

     document.getElementById('id4').innerHTML=e.innerHTML;     
      e.innerHTML=f.innerHTML;
      window.location=window.location;

    }
    function cancel(id,item)
    {

        document.getElementById(id).innerHTML=document.getElementById(item).innerHTML;
    }

function submit(id,item)
    {

        document.getElementById(id).innerHTML=document.getElementById(item).innerHTML;
    }    

</script>

<div class="gap" ><a href="#" onclick="toggle_visibility('id1','x');" id="x">Click here<div style="float:right;">[+]</div></a></div>

<div id="id1" style="display:none;">This is foo</div>


<a href="#" onclick="toggle_visibility('id2','y');" id="y"><div id="click1" style="float:left;">Click here1</div>[+]</a>

<div id="id2" style="display:none;">click here1
<div> <a href="#"  onclick="edit('id2','id3');">Edit</a></div>
<div> <a href="submit.php"  onclick="submit('id2','id3');">submit</a></div>
</div>




<div id="id3" style="display:none;">Edit
<div> <a href="#"  onclick="cancel('id2','id4')">cancel</a></div>
</div>


<div id="id4" style="display:none;"></div>

缺口
{
边框:1px纯黑
}
功能切换_可见性(id,nana){
var e=document.getElementById(id);
var label=document.getElementById(nana);
如果(e.style.display==“无”)
{
label.innerHTML=label.innerHTML.replace(“[+]”,“[-]”);
e、 style.display='block';
//col.innerHTML=valu;
}
其他的
{
label.innerHTML=label.innerHTML.replace(“[-]”,“[+]”);
e、 style.display='none';
}
}    
功能编辑(id,项目)
{
var e=document.getElementById(id);
var f=document.getElementById(项目);
document.getElementById('id4').innerHTML=e.innerHTML;
e、 innerHTML=f.innerHTML;
window.location=window.location;
}
功能取消(id,项目)
{
document.getElementById(id).innerHTML=document.getElementById(item).innerHTML;
}
功能提交(id,项目)
{
document.getElementById(id).innerHTML=document.getElementById(item).innerHTML;
}    
我是福
单击此处1
编辑
现在,当我单击任何div时,它会展开,但问题是浏览器正在从顶部刷新。因此,我需要再次向下,应该可以看到内容

我想在单击任何特定div时将其保留在特定div上


请帮助我..谢谢

您似乎在告诉浏览器刷新页面:

window.location=window.location;
为什么??如果您不想让浏览器刷新(我在这里并不认为有必要这样做),那么就不要修改
window.location
。尤其是当您试图在客户端代码中执行所有这些操作时,因为刷新页面会有效地重置客户端代码的应用程序上下文。

用于将页面导航到特定位置


尽管我建议您重新编写代码,如果您想以动画方式扩展div,还可以使用jQuery

<a href="#aid1" ...
<a href="#aid2" ...


我添加了锚定:-)是的,现在可能很高兴知道,当获取集合时,IE9+是唯一从代码段中找到此锚定的浏览器,所有其他浏览器都需要
名称
属性。谢谢,我将编辑响应。但例如,linux下的chrome甚至可以导航到id为的div,因此不需要使用偶数锚标记。是的,浏览器可以使用
id
导航,但我说的是
archors
集合,以防有人想创建页面上所有锚的列表。。。
<a name="aid1"></a>