2017-07-06 50 views
0

我使用Javascript和'onclick'在大型数据库中显示隐藏的div,当我使用onclick它显示为一个弹出窗口。它在同一个html文件中工作正常,但我无法在另一个html文件中获得一个id openend。我怎样才能做到这一点?随着onclick在其他html文件中显示隐藏的div

我用这个JavaScript代码(SH =显示):

var divState = {}; function sh(id) { 
if (document.getElementById) { 
    var divid = document.getElementById(id); 
divState[id] = (divState[id]) ? false : true; 
//close others 
for (var div in divState){ 
    if (divState[div] && div != id){ 
     document.getElementById(div).style.visibility = 'hidden'; 
     divState[div] = false; 
    } 
} 
divid.style.visibility = (divid.style.visibility == 'visible' ? 'hidden' : 'visible'); } } 

而且我所说的项目,此代码(ID = 1):

<a class=w onclick="sh('1');">asdfasdf asdasdfds</a> 

我试图<a onclick="window.location.href='../A/index.html?id=0174' ">但它不“open”或者show id = 0174,只会在A目录中打开index.html。如何在A/index.html中点击E/index.html中的某个项目时使ID 0174可见?

非常感谢!

+0

您可以创建一个js文件,并以HTML文件中嵌入这个脚本。 – Huelfe

+0

但是这并不显示其他html文件中的隐藏div。 – Fred

+0

你能描述一下你的工作流程吗?其他html文件是什么意思?你的意思是像两个打开的标签,如果你改变tab1上的东西,tab2也应该改变一些东西? – Huelfe

回答

0

您可以使用:target CSS伪类来显示或隐藏指定为网址中散列值的元素。

例如:<a href="../A/index.html#0174">Link to div #0174 on other page</a>

.show-when-target { 
 
    visibility: hidden; 
 
} 
 

 
.show-when-target:target { 
 
    visibility: visible; 
 
}
<div id="1" class="show-when-target"> 
 
    Hello from div 1! 
 
</div> 
 

 
<div id="2" class="show-when-target"> 
 
    Hello from div 2! 
 
</div> 
 

 
<div id="3" class="show-when-target"> 
 
    Hello from div 3! 
 
</div> 
 

 
<a href="#1">Show Div 1</a> 
 
<a href="#2">Show Div 2</a> 
 
<a href="#3">Show Div 3</a>

+0

我无法使用这个功能,因为我没有使用'display:block',因为它不适用于Web的盲人用户。我明白利用'visibility:visible'不会影响可读性。 – Fred

+0

没有理由不使用'visibility'来代替。更新了片段。 –

+0

谢谢,我试过了,但没有奏效。也许我应该提到,无形的div是父div的孩子。实际代码如下所示:'

Etna
Etna Een actieve vulkaan in het noordoosten van Sicilië, bla bla
'我必须重复主题Etna才能在弹出窗口中再次显示并解释。第一个埃特纳火山是一个有额外信息的长长的物品清单的主题。不,我错了,它不是小孩,一开始就是如此,但我改变了这一点。 – Fred

相关问题