2014-01-10 155 views
0

我想为多个div制作div覆盖。此代码覆盖div为多个div

function showOverlay() 
{ 
    var o = document.getElementById('overlay'); 
    o.style.visibility = 'visible'; 
} 

function hideOverlay() 
{ 
    var o = document.getElementById('overlay'); 
    o.style.visibility = 'hidden'; 
} 

我怎样才能让这段代码的工作,让我不会有一个新的ElementId复制的JavaScript每个我想隐藏/显示DIV?

<a href="javascript:hideOverlay();">hide</a></div> 
<a href="javascript:showOverlay();">show</a> 

谢谢。

+0

的HTML标记,你表现是不完整的。请显示完整的标记。 – Ravimallya

回答

1

看到这个小提琴http://jsfiddle.net/5sVvA/

使用jQuery使用此功能

$('.showlink').click(function() { 
    $('#' + $(this).attr('rel')).show(); 
}); 

$('.hidelink').click(function() { 
    $('#' + $(this).attr('rel')).hide(); 
}); 

然后创建showlink类或hidelink或取决于你想叫什么功能,什么类<a>链接和rel='XXX'其中XXX为要显示/隐藏div的ID,您必须为每个要隐藏或显示的div创建一个新链接。

如果我误解了你的问题,请告诉我。

要将其设置为隐藏,默认情况下,您必须在css display: none;中使用您希望默认隐藏的div,然后如果您单击隐藏,则没有任何指示(它已被隐藏!出现,如果你然后点击隐藏,它会再次隐藏:)

关于在CSS上的东西,你不能,它是一个HTML属性,而不是一个CSS的,你必须设置它的<a>标签。

要隐藏的文本中它的DIV,你可以使用这个http://jsfiddle.net/robhunter/5sVvA/1/,并使其适应你的代码,基本上你将它设置默认是隐藏的,当你点击show链接,你会发现隐藏的链接并显示它。

有了这个代码,您必须设置一个id用这种格式

rel + hidelink在这种情况下,每一个环节将是overlay1hidelink因为rel=overlay1,所以rel=overylay2这将是overlay2hidelink等等...

+0

非常感谢!但是你知道一种方式,所以我可以简单地为所有rel使用css片段,并且默认情况下隐藏内容,并且如果div被隐藏,则隐藏tekst“hide”。 我很抱歉,非常感谢您的帮助。 – Arash

+0

查看我的更新,如果您觉得有用,请考虑将其标记为已回答(单击V图标),谢谢! –