2017-05-30 58 views
2

我尝试在出现的单元格和行,但不能在剑道网格上添加动画。剑道网格单元出现在每个单元格中的动画和每一行像纸牌卡

我想添加每行的单元格动画显示在最后一个之后。

搜索和谷歌搜索有很多detailRow,我不想要的结果。 dataBound的更多文章在单元和数据显示之后进行说明。

我想添加对所有单元格的影响一个接一个出现。

这是angularjs RTL标准项目

<div id="grid" class="k-rtl" kendo-grid="grid" k-options="mainGridOptions" k-rebind="mainGridOptions"> 

这样Console.log在此页面中,其来源here

,但我们希望出现剑道网格状:

MATRIX:[0,0] then [0,1] then .... then [0,N] 

    [1,0] then [1,1] then .... then [1,N] 

    ... 

    [M,0] then [M,1] then .... then [M,N] 

回答

3

我可以提供基于jQuery的解决方案,基本上这种方法应该与您的角度应用程序相同:

  • 开始与隐藏网格
  • 显示上数据绑定事件网格报头
  • 显示上数据绑定事件的每行的每个单元以及内的setTimeout函数以提供动画效果。

请看下面的代码片段作为例子。
[注:使用visibility:hidden的CSS属性,因为显示:父无不让你孩子的显示]

<div id="grid" style="visibility: hidden"></div> 

<script> 
$("#grid").kendoGrid({ 
    selectable: "multiple cell", 
    allowCopy: true, 
    columns: [ 
     { field: "productName" }, 
     { field: "category" } 
    ], 
    dataBound: gridDataBound, 
    dataSource: [ 
     { productName: "Tea", category: "Beverages" }, 
     { productName: "Coffee", category: "Beverages" }, 
     { productName: "Ham", category: "Food" }, 
     { productName: "Bread", category: "Food" } 
    ] 
}); 

function gridDataBound(e){ 
    $(".k-grid-header").css("visibility", "visible"); 

    var rows = $("#grid").data("kendoGrid").items(); 
    var columnNumber = $("#grid").data("kendoGrid").columns.length; 
    var animationSpeed = 500; 

    $.each(rows, function(index, row){  
    setTimeout(function(){   
     $.each($(row).find("td"), 

      function(i, cell){     
         var interval = animationSpeed/columnNumber * i; 
         setTimeout(function(){ 
         $(cell).css("visibility", "visible"); 
         }, interval); 
      }); 

    }, animationSpeed * index) 
    }); 
} 
</script> 
+0

这就是伟大的。当出现细胞时,这可能会飞越边界吗?从单元[0,0]到目标位置然后出现?两个动画在一起? –

+0

这是codepen是否正确? https://codepen.io/sabertaba/pen/QveeRr或这个jsfiddle页面:https://jsfiddle.net/saber13812002/902yz5fg/1/ –

+1

可能有些参考文件丢失,因为我得到* kendo没有定义*。你为什么不在剑道道场上测试它? –

相关问题