流沙过渡动画和回调无法正常工作

时间:2013-05-16 10:37:03

标签: jquery callback internet-explorer-10 quicksand

我继承了一个使用jQuery Quicksand plugin进行数据过滤的网站。

我在IE10中遇到了一些问题。过渡动画似乎没有被解雇。排序立即发生。此外,排序完成后应触发的回调函数未触发。一切都很好< IE10和我测试过的所有其他浏览器。

控制台中没有错误或任何失败的迹象。

有没有人找到问题的根源?

DEMO OF ISSUE

   function testFunction(){
       alert('test');
   }  

   $('.button').click(function(e) {

       $('.all').quicksand( $('.warm li'), {
           duration: 1000,
           attribute: 'id',
           adjustHeight:false
        },function(){
           testFunction();
        });
   });

1 个答案:

答案 0 :(得分:1)

我追踪了问题。我会在这里发布,这可能会对其他人有所帮助。

Line~64 V.1.2.2

if ($.browser.msie && $.browser.version.substr(0,1)<7) {
    $sourceParent.html('').append($collection);
    return;
}

substr返回1导致插件退出。

我通过删除substr来解决这个问题(有人可以解释为什么子字符串是必要的吗?):

if ($.browser.msie && $.browser.version<7) {
    $sourceParent.html('').append($collection);
    return;
}

似乎工作正常。

插件的Versin 1.3(我没有意识到存在)使用以下内容:

if ($.browser.msie && parseInt($.browser.version, 10) < 7) {
    $sourceParent.html('').append($collection);
    return;
}