为Kwicks jQuery插件创建onAfter事件

时间:2010-11-07 01:33:17

标签: javascript jquery html

我正在使用Kwicks jQuery plugin作为我的投资组合。我想在kwicks点击事件后在列表项中显示一个子容器。我似乎无法为此找到一个钩子,至少在kwicks插件的参数范围内。

在做了一些研究之后我找不到任何东西。有谁知道如何实现这个目标?

我正在使用jQuery 1.4.2和Kwicks 1.5.1。

P.S。如果你不知道,我是一个完整的jQuery / javascript noob。

代码:

<script type="text/javascript">

$().ready(function() {

 $('#projects').kwicks({
  max : 720,
  event : 'click'
 });


 $('.desc').show();
});

</script>


<ul id="projects">
    <li>
      <div class="desc">
      <h3><%= project.title %></h3>
      <p>blah blah blah<%= project.description %></p>
      </div>
    </li>
    <li>
      <div class="desc">
      <h3><%= project.title %></h3>
      <p>blah blah blah<%= project.description %></p>
      </div>
    </li>
</ul>

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

没有修补Kwicks就无法做到这一点。

要修补它,在

之后的非缩小代码的第125行
easing: o.easing

添加逗号,然后:

complete: function()
{
    // your code
}

或者,每次都使用自定义函数:

complete: o.onAfter

答案 1 :(得分:0)

我最终使用fudgey重写了kwicks(http://github.com/Mottie/Kwicks),它就像一个冠军。这就是我最终的结果:

$(document).ready(function() {

  function hideAllDesc(){ // Fades out all descriptions that are shown before expanding a new one
    $('#projects li .desc').fadeOut();
  }

  function showDesc(){ // Shows description on expand
    $('#projects li.active .desc').fadeIn();
  }

  function hideDesc(){ // Hides description on collapse/mouseout
    $('#projects li.active .desc').fadeOut();
  }

  $('#projects').kwicks({
    max : 720,
    event : 'click',
    init : hideAllDesc,
    expanding : showDesc,    
    collapsing : hideDesc

  });

});

感谢大家的帮助!