1

我对以下代码有疑问,想象其余部分都可以(html、head、body 等)我想要做的是,当您单击其中一个按钮时,该部分中的隐藏文本/图像会显示或隐藏,代码做得很好。问题是当您单击按钮时,我还希望它带您到新出现的部分中的锚点,而我似乎无法做到这一点。

这是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>

而这里是控制onclick事件的JS函数,我每个部分都有一个,但是都是一样的。

<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 事件在图像中,我不希望文本被链接。显然我失去了一些东西/做错了什么,可能是一个羞辱性的错误,但我要求建议和更正。

4

3 回答 3

0

您可以拥有您提出的 html 并执行以下操作:

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

将“Section1”替换为您的特定部分。

于 2012-12-17T12:01:04.667 回答
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 作为锚点

于 2013-01-04T17:14:59.867 回答
0

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

我们是否应该看得更远?

于 2012-12-17T10:33:35.967 回答