0

在第一个函数完成后,我正在寻找一些关于调用函数的帮助。一般来说,我对 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>

谢谢,麻烦您了!

4

3 回答 3

0

check this JsFiddle Demo it's simple and maybe it will help you

于 2012-08-24T01:25:04.540 回答
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作为链接中的第二个参数。

于 2012-08-24T01:17:42.197 回答
0

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

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

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

于 2012-08-24T01:18:59.760 回答