第一次完成后,jquery slideonlyone调用函数

时间:2012-08-24 00:54:32

标签: javascript jquery hide show

我正在寻找一些在第一次完成后调用函数的帮助。我对jquery一般都很陌生,并且在使用它时遇到了一些困难。

下面的代码就是我现在所拥有的,目前只适用于'slideonlyone'jquery插件。我想做的是让slideonlyone函数像往常一样工作,然后一旦显示div,我希望页面向下滚动(或向上取决于放置)到显示的div的顶部,因为其中一些是图像,可能会在页面上显示笨拙。

<script type="text/javascript">
function slideonlyone(thechosenone) {
    $('.newboxes2').each(function(index) {
          if ($(this).attr("id") == thechosenone) {
               $(this).slideDown(600);
          }
          else {
               $(this).slideUp(600);
          }
     });
}
</script>

锚标记的HTML看起来像这样......不确定是否真的需要。

<a href="javascript:slideonlyone('newboxes11');">
    <div class="project">
       <img src="image.png" />
    </div>
</a>

拜托,谢谢!

3 个答案:

答案 0 :(得分:0)

.slideDown()的第二个示例中,您可以修改slideonlyone,如下所示

function slideonlyone(thechosenone, domeafter) {
    var mdomeafter = function () {};
    if (domeafter !== undefined && typeof domeafter === 'function') mdomeafter = domeafter;
    $('.newboxes2').each(function(index) {
          if ($(this).attr("id") == thechosenone) $(this).slideDown(600, mdomeafter);
          else $(this).slideUp(600, mdomeafter);
     });
}

以及domeafter的一些函数作为链接中的第二个参数。

答案 1 :(得分:0)

我可能会错误地阅读您的问题,但如果您想在slideUp或slideDown动画完成后发生某些事情,那么您需要做的就是提供一个回调函数作为对slideUp / slideDown的调用的一部分。例如,

$(this).slideDown(600, function() { 
  do something when slide down finishes
});

有关slideUp功能的更多信息,请参阅http://api.jquery.com/slideUp/

答案 2 :(得分:0)

检查这个JsFiddle Demo这很简单,也许它会帮助你