Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将.active类添加到jQuery滑动切换菜单_Jquery_Slidetoggle - Fatal编程技术网

将.active类添加到jQuery滑动切换菜单

将.active类添加到jQuery滑动切换菜单,jquery,slidetoggle,Jquery,Slidetoggle,我的页面顶部有几个隐藏的div,可以通过菜单进行切换。因此,我使用了一种非常简单的方法: Javascript: function toggleDiv(divId) { $("#"+divId).slideToggle(); } HTML: ... 现在我想将class.active添加到DIV可见的链接中。我不知道如何选择链接,有人能帮忙吗 除此之外,如果有一个可见的DIV,关闭另一个/所有其他切换的DIV也很好 谢谢 Javascript $('ul li a').on(

我的页面顶部有几个隐藏的div,可以通过菜单进行切换。因此,我使用了一种非常简单的方法:

Javascript:

function toggleDiv(divId) {
    $("#"+divId).slideToggle();
}
HTML:

  • ...
现在我想将class.active添加到DIV可见的链接中。我不知道如何选择链接,有人能帮忙吗

除此之外,如果有一个可见的DIV,关闭另一个/所有其他切换的DIV也很好

谢谢

Javascript

$('ul li a').on('click', function(e) {

    // to keep your link from actually clicking through
    e.preventDefault();

    $(this).addClass('active');
    $( '#' + $(this).attr('href') ).slideToggle();

});
HTML


如果不启用Javascript,我会修改代码,使其更易于访问

Javascript

$('ul').find('a').on('click', function() {
    var $this = $(this); // cache $(this)

    $this.addClass('active');
    $( $this.attr('href') ).slideToggle();

    return false; // prevent anchor click event
});
HTML

<ul>
    <li><a href="#projekte">Projekte</a></li>
    <li><a href="#mo">Mo</a></li>
</ul>

<div id="projekte">Stuff</div>
<div id="mo">Stuff</div>
东西 东西
您能否确认
e.preventDefault()的目的是什么
是删除锚点的默认单击功能,以便在单击锚点时我们可以停止它到另一个页面的导航?在这种情况下,这正是它所做的。在这种情况下,你的意思是什么?
e.preventDefault()还有其他功能吗?当然,不同的元素有不同的默认onclick行为。在这种情况下,正在阻止链接将浏览器指向某个地址;告诉OP。
$('ul').find('a').on('click', function() {
    var $this = $(this); // cache $(this)

    $this.addClass('active');
    $( $this.attr('href') ).slideToggle();

    return false; // prevent anchor click event
});
<ul>
    <li><a href="#projekte">Projekte</a></li>
    <li><a href="#mo">Mo</a></li>
</ul>

<div id="projekte">Stuff</div>
<div id="mo">Stuff</div>