2013-04-20 82 views
0

我刚刚开始使用Jquery,我很喜欢它,但是我遇到了一个问题,我无法包住头。点击链接后jquery动画无法正常工作

我已经实现了一个我购买的插件,它创建了一个拇指网格,然后您可以过滤属性。 (槽李类)

此外,我写了一段代码,展开点击div。这两个工作完美,直到菜单使用(按属性过滤)我明白这可能听起来有点模糊,直到你看到它,所以这里的链接: http://media-surfer.nl/test

如果你需要粘贴在这里的所有代码,我会做所以,但由于这是相当多的我想最好保持概述并访问链接。

我真的为了我的生活无法弄清楚这一点,所以任何帮助,非常感谢! 由于一吨提前:)

这里是我写的代码:

<!-- collapse expand jquery --> 
<script type="text/javascript"> 

    $(document).ready(function(){ 

     $(".inhoud").hide(); 
     $(".show_hide").show(); 

     $('.show_hide').click(function(event) { 

      $(".inhoud").parent().animate({ 
       width: '160' 
      }, 500, function() { 
      // Animation complete. 
      }); 

     var $inhoud = $(this).next(".inhoud"); 

     if($inhoud.hasClass("active")) 
     { 
      $(this).parent().animate({ 
       width: '160' 
       }, 500, function() { 
       // Animation complete. 
      }); 
      $inhoud.removeClass("active"); 
     } else { 
      $(this).parent().animate({ 
       width: '769' 
       }, 500, function() { 
       // Animation complete. 
      }); 
      $inhoud.addClass("active"); 
     } 

    }); 

}); 

</script> 
<!-- collapse expand jquery --> 
+0

后的HTML标记还... – 2013-04-20 09:44:54

回答

1

的sooo ..你发现你的页面上的错误吗? :D

我想我已经使用了这个相同的排序插件一次,它正在做的是创建一个新的元素集合(匹配排序标准),然后动画。我的猜想是这是它打破点击功能的确切原因,因为在文档准备好后,您将它绑定到现有元素,并通过对插件进行排序生成没有绑定到它们的点击事件的新元素。尝试通过更换该行使用.on()

$('.show_hide').click(function(event) { 

$(document).on('click','.show_hide', function(event) { 
+0

由于一吨!真的我有库存:) 这是有道理的,它创造新的元素,但为什么不附加的类(这是点击触发器)呢? – 2013-04-20 11:02:19

+0

因为在准备文档时使用$('。show_hide')。click',文档会加载事件并将其绑定到当前拥有该类的所有元素。它结束了。 :)如果创建了新元素,他们将不会拥有点击侦听器(即使它们与类匹配)。另一方面,当您将侦听器绑定到文档本身时,它始终可以工作,因为文档始终存在。 – Kaloyan 2013-04-20 11:06:33

+0

感谢您解释:)我很开心! – 2013-04-20 11:27:18