Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Javascript 如何使此slideDown/slideUp在不同的类中正常工作?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何使此slideDown/slideUp在不同的类中正常工作?

Javascript 如何使此slideDown/slideUp在不同的类中正常工作?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试学习jQuery,但似乎无法理解以下内容 加载页面时,div 1应可见。 当我单击菜单按钮时,div1应该隐藏,单击的div应该替换它 我希望Div1有一个不同的类分配给它(这可以在没有CSS的情况下完成吗?),并且当您从notactive选择一个类到active时,让这两个类切换 在jQuery中如何实现这一点 HTML <div id='container'> <div id='menu'> <ul id='List'>

我正在尝试学习jQuery,但似乎无法理解以下内容

加载页面时,div 1应可见。
当我单击菜单按钮时,div1应该隐藏,单击的div应该替换它

我希望Div1有一个不同的类分配给它(这可以在没有CSS的情况下完成吗?),并且当您从notactive选择一个类到active时,让这两个类切换

在jQuery中如何实现这一点

HTML

<div id='container'>
<div id='menu'>
    <ul id='List'>
        <li><a href="#content1">Menu 1</a></li>
        <li><a href="#content2">Menu 2</a></li>
        <li><a href="#content3">Menu 3</a></li>
    </ul>
</div>

<div id='content'>
    <div id=content1 class="">
    <h1>Div 1</h1>
    Lorem ipsum dolor sit amet
    </div>
    <div id=content2 class="disactivated">
    <h1>Div 2 </h1>
    Lorem ipsum dolor sit amet
    </div>
    <div id=content3 class="disactivated">
    <h1>Div 3</h1>
    Lorem ipsum dolor sit amet
    </div>
</div>
jQuery

$(document).ready(function(){
    $('a').on('click',function(){
        $(this)
          .slideDown('fast')
          .siblings("div:visible").slideUp('fast')
    })
});

在jQuery代码中,
$(this)
指的是
a
元素(单击的元素),而不是目标div

$('a').on('click',function(){
    var target = $(this).attr('href');

    $(target)
        .slideDown('fast')
        .siblings("div:visible").slideUp('fast');
})
如果要切换
禁用的
类,请如下链接:

    $(target)
        .removeClass('disactivated')
        .slideDown('fast')
        .siblings("div:visible")
            .slideUp('fast')
            .addClass('disactivated');
$('a').on('click',function(){
    var target = $(this).attr('href');

    $(target)
        .removeClass('disactivated')
        .slideDown('fast')
        .siblings("div:visible")
            .slideUp('fast')
            .addClass('disactivated');

    return false;
})
此外,在使用链接上的单击事件时,您可能希望将
return false
添加到事件处理程序的末尾。最终代码应如下所示:

    $(target)
        .removeClass('disactivated')
        .slideDown('fast')
        .siblings("div:visible")
            .slideUp('fast')
            .addClass('disactivated');
$('a').on('click',function(){
    var target = $(this).attr('href');

    $(target)
        .removeClass('disactivated')
        .slideDown('fast')
        .siblings("div:visible")
            .slideUp('fast')
            .addClass('disactivated');

    return false;
})

谢谢,这很有帮助