2012-12-17 38 views
1

我在下面的代码中遇到问题,想象其余的都可以(html,head,body等) 我想要做的是,当你点击其中一个按钮显示或隐藏部分中的隐藏文本/图像,代码就可以了。问题是我也希望它能让你在新出现的部分中找到一个锚点,当你点击按钮时,我似乎无法做到这一点。JS链接到文档中的onclick()事件中的一个锚

下面是对HTML

<h2 class="especial">TITLE</h2> 
<p class="normal"><input type=image src="images/img_beta/buttonimage1.png" onclick="show_section1();">Section1</p> 
<p class="normal"><input type=image src="images/img_beta/buttonimage2.png" onclick="show_section2();">Section2</p> 
<hr> 
<div id="Section1" style="display:none"> 
<a id="Section1_anchor"><h2 class="especial">Sect1TittleHere</h2></a> 
    <p class="interior">Blablah this is the content of section1</p> 

</div> 
<div id="Section2" style="display:none"> 
<a id="Section2_anchor"><h2 class="especial">Sect2TittleHere</h2></a> 
    <p class="interior">Blablah content of section2</p> 
    </div> 

代码而这里的JS功能控制onclick事件,我有一个每个部分,但它们都是一样的。

<script language='javascript'> 
//Variables 
var sect1_guardian=0, sect2_guardian=0, sect3_guardian=0;  
function show_sect1(){ 
    if (sect1_guardian == 0) {   document.getElementById("Section1").style.display="block"; 
     sect1_guardian=1; 
     //Close the other sections if opened 
     document.getElementById("Section2").style.display="none"; 
     document.getElementById("Section3").style.display="none"; 
     //Reset guardians 
     sect2_guardian=0; 
     sect3_guardian=0;   
    } 
    else { 
     document.getElementById("Section1").style.display="none"; 
     sect1_guardian=0; 
    } 
} 

在哪里以及如何将链接添加到锚?如果我尝试将它添加到按钮标记和onclick事件。我这样做

<p class="normal"><a href="#Section1_anchor"><input type=image src="images/img_beta/buttonimage1.png" onclick="show_section1();"></a>Section1</p> 

因为onclick事件是在图像中,我不希望文本被高度链接。很明显,我正在失去某些东西/做错了什么,可能是一个侮辱性的错误,但我要求提供建议和更正。

回答

0

如果它恰好是代码的复制粘贴,则onclick处理程序称为“show_section1()”,该函数称为“show_sect1()”。注意sect!= section :)。

我们应该更进一步吗?

+0

再观望,因为它不是一个直接复制/粘贴(改了个名字和东西),隐藏层的放映工作得很好,是什么让我有锚固麻烦:( – AbianG

0

你可以有你提出的HTML和做这样的事情:

window.location = document.getElementById("Section1").parentNode.href; 

替换“SECTION1”你的特定部分。

+0

我把它放在我的JS功能,它不工作,萤火虫说:TypeError:document.getElementById(...)。getParent不是一个函数,我想我仍然做错了什么...> _ < – AbianG

+0

抱歉,更正了我的答案。它是parentNode,而不是getParent() – 2012-12-17 17:02:57

0

好吧,我找到了一个解决方案,它很容易,可能没有人说这是因为我以错误的方式提出问题,但也许这会帮助某人。

我想让按钮带你到文档中的一个锚,对吧?

上面的代码运行良好,您单击按钮并显示隐藏文本或隐藏它。

现在,将下面的代码添加到按钮代码中,它也可以做锚点。

<p class="normal"><a href="#Section1"><input type=image src="images/img_beta/buttonimage1.png" onclick="show_section1();"></a>Section1</p> 

我只是添加了标签链接按钮,和所使用的HTML ID(我已经用于JS)以用作锚。我希望能够清楚地解释它,并且帮助别人!

关键是,使用HTML id作为锚

相关问题