点击按钮时显示/隐藏div

3

我正在尝试根据按下的按钮来显示和隐藏内容。下一个按钮应该显示第二个内容并隐藏第一个内容,而上一个按钮则相反。

<script type="text/javascript">
    $('a.button-next').click(function() {
        $("#tab-content2").addClass("show");
    });
</script>

CSS:

#tab-content2 {
    display: none;
}
#tab-content2.show {
    display: none;
}

HTML:

<div id="tab-content1">             
    <?php the_content(); ?>
</div>

<div id="tab-content2">     
    <?php the_field("experience");?>
</div>

<a href="javascript:;" class="button-back">Previous</a>
<a href="javascript:;" class="button-next">next</a>

尝试这个 $("#tab-content2").toggle(),这样你甚至不需要 CSS。 - Aleksandar Toplek
5
你的两个CSS类都设置为display: none;。此外,在你的jQuery代码中没有文档准备好的处理程序。 - Rory McCrossan
jQuery确实带有.show().hide()方法... - JJJ
为什么没有人提到这是一个重复的问题?只需要看一下相关的问题。 - Benjamin Gruenbaum
6个回答

3

尝试使用 toggleClass,并不要忘记使用 document.ready()

$(document).ready(function() {
    $('a.button-next').click(function() {
        $("#tab-content2").toggleClass("show");
    });
});

#tab-content2.show {display:block;}

3

为所有内容使用通用的类

<div class="content" id="tab-content1">             
    <?php the_content(); ?>
</div>
<div class="content" id="tab-content2">     
    <?php the_field("experience");?>
</div>

<a href="javascript:;" class="button-back">Previous</a>
<a href="javascript:;" class="button-next">next</a>

因此,CSS应该是这样的:
.content {
    display: none;
}

还有Javascript

$('a.button-next').click(function() {
    $('.content').hide(); // To hide all other contents
    $("#tab-content2").show(); // Show the one content you want to display
});

1
尝试这个...
$('a.button-next').on('click', function() {
    $("#tab-content2").toggle("show");
});

1
HTML
<div id="tab-content-holder">
    <div id="tab-content1 show">             
        <?php the_content(); ?>
    </div>

    <div id="tab-content2">     
        <?php the_field("experience");?>
    </div>
</div>

<a href="#" class="button-back">Previous</a>
<a href="#" class="button-next">Next</a>

JS

$(document).ready(function() {
    $(".button-back").click(function() {
        MenuNavigationClick(-1);
    });
    $(".button-next").click(function() {
        MenuNavigationClick(1);
    });

    function MenuNavigationClick(direction) {
        // Get current element index and toggle
        var current = $("#tab-content-holder .show");
        var index = current.index();
        current.toggleClass("show");

        // Move to next element and check for overflow
        index += 1 * direction;
        index %= $("#tab-content-holder div").length;

        // Toggle next element
        $("#tab-content-holder div:eq("+index+")").toggleClass("show");
    }
});

CSS

#tab-content-holder div {
    display: none;
}
#tab-content-holder div.show {
    display: block;
}

1

show 的显示属性是 none

将其更改为 block

此外,您可以直接使用 .show().hide() 函数而不是使用类。


0

你尝试过将show类转移到另一行吗?

.show
{
    display: block;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接