jQuery .show()/。hide()问题

时间:2014-03-16 11:42:19

标签: jquery html

我的网站出现问题。这个想法是有一个图像和文本的div,当你点击它时,另一个div将从第一个div向下滑动,带有更多的文本和东西。当你点击第一个div时我使用.slideToggle,第二个div就像我想要的那样上下滑动。但是当我加载页面时,第二个div已经" down"我希望它在默认情况下。我试过了:

$('#second_div').hide();
$(document).on('click', 'div', function() {
    $(this).next().show();
    $(this).next().slideToggle('fast');
});

(全部在$(document).ready(function(){}); ofc) 但这只会使其中一些隐藏起来,当我点击它们时,它们会立即再次向上滚动......

2 个答案:

答案 0 :(得分:0)

由于您没有向我们展示您的HTML和CSS,我只能假设您希望它看起来像。

我在JSFiddle上创建了一个工作演示,同时复制了大部分JS:http://jsfiddle.net/2EL7q/

我建议使用CSS隐藏第二个div,而不是使用JS。另外,如果要调用元素的其他动画,则不要调用.show()函数。

HTML:

<div id=first_div>Click me</div>
<div id=second_div>Second div</div>

CSS:

#second_div {
    display: none;
}

JS:

$(function() {
    $("#first_div").click(function() {
        $("#second_div").slideToggle();
    });
});

答案 1 :(得分:0)

将此添加到您的css:

#second_div {
   display: none;
}