1

感谢下面的帮助者修复,在这里查看它的实际效果:http: //bit.ly/15npgSC

我正在学习 jQuery,遇到了一个我无法解决的问题。我有一个内容滑块,当单击按钮时,它会滑动打开,当再次单击按钮时,它会关闭。这一切都很好,我遇到的问题是页面加载时滑块会自动打开,而不仅仅是单击时。如何在页面加载时保持关闭状态并仅在单击时打开?之后它工作正常,只是在页面加载时它会打开。我尝试$(document).click(function() {在开始时放置哪种工作,但是当点击它时它会打开,然后在打开后立即关闭而没有点击。我改回下面的 jQuery 代码,但现在页面再次加载时出现打开问题。

$(document).ready(function() {
   $('.pull-me').click(function() {
       $('.panel').slideToggle('slow');
   });
   $('a').toggle(function() {
       $(this).html("Click to close!");},
       function() { $(this).html("Click to open!");
   }).click();
});

如果您能够解决此问题,您能否解释一下为什么我当前的代码会发生这种情况以及为什么修复会阻止这种情况发生?谢谢,拉法。

很抱歉之前没有发布 HTML 代码,但就是这样:

<div class="panel">
<br />
<br />
   <p>Now you see me!</p>
</div>
<div>
    <p class="slide"><a href="#" class="pull-me">Click to open!</a></p>
</div>
4

2 回答 2

0

试试这个:

// HTML

<div class="pull-me">
    Click here!
    </div>

<div class="panel">
    show/hide
</div>

// jQuery

$(document).ready(function() {
   $('.pull-me').click(function() {
       $('.panel').slideToggle('slow');
   });
       $('a').toggle(function() {
       $(this).html("Click to open!");},
       function() { $(this).html("Click to close!");
   });
});

在这个 JsFiddle 中检查这里 -> http://jsfiddle.net/GXCuz/1/

于 2013-03-01T13:23:12.310 回答
0

因为您没有发布任何 HTML,所以我猜 '.pull-me' 是一个 'a' 元素。

请尝试以下代码(删除 .click()):

$(document).ready(function() {
   $('.pull-me').click(function() {
       $('.panel').slideToggle('slow');
   });

   $('a').toggle(function() {
       $(this).html("Click to close!");},
       function() { $(this).html("Click to open!");
   }); // modified here
});

您在页面首次加载时触发点击事件。

于 2013-03-01T13:24:52.590 回答