0

我有几个链接锚定到隐藏的 div。通过将不透明度设置为零来隐藏这些 div,一旦单击它们各自的锚点,我就使用 jQuery 来显示这些 div。

我想知道的是,是否可以通过将锚点放在 url 中来使用 jQuery 打开这些 div?例如:

<a href="#div1">Link1</a>
<a href="#div2">Link2</a>
<a href="#div3">Link3</a>

<div id="div1">Lorem Ipsum</div>
<div id="div2">Vestibulum in sollicitudin</div>
<div id="div3">Mauris auctor</div>

div 最初是隐藏的,仅在单击锚点时出现。现在我如何通过在 URL 末尾添加锚点来打开某个 div,比如 div2,onload,比如http://example.com#div2

有可能这样做吗?

4

2 回答 2

1

你用也用toggle()

$('a').click(function(event){
   var href = $(this).attr('href').replace('#','');
   $(href).toggle();
   event.preventDefault();
});

更新:我认为上面的代码有一个错误。这是JSFiddle中的一个工作演示

jQuery:

$('a').click(function (e) {
    var href = $(this).attr('href');
    $(href).toggle();
    e.preventDefault();
});
于 2013-07-01T20:20:43.903 回答
0
var links = document.getElementsByTagName('a');

function linkHandler(event){
    event.preventDefault();
    var div = document.getElementById(event.target.getAttribute('href').replace('#',''));
    if(div.style.display == 'none'){
        div.style.display = 'block';
    } else {
        div.style.display = 'none';
    }
}

for(var i=0;i<links.length;i++){
    links[i].addEventListener('click', linkHandler);
}
于 2013-07-01T20:23:39.040 回答