【发布时间】:2014-01-29 05:15:50
【问题描述】:
当我使用 KendoUI 开发我的应用程序时。我在我的应用程序中使用了多个网格。我的问题是我想禁用过滤器选项的动画,即当我们单击每一列进行过滤时,菜单是幻灯片下来给我们各种过滤选项。 当我单击该列进行过滤时,我想禁用动画,该选项不得向下滑动。在这里我添加一个 Image.
【问题讨论】:
标签: javascript jquery asp.net-mvc kendo-ui kendo-grid
当我使用 KendoUI 开发我的应用程序时。我在我的应用程序中使用了多个网格。我的问题是我想禁用过滤器选项的动画,即当我们单击每一列进行过滤时,菜单是幻灯片下来给我们各种过滤选项。 当我单击该列进行过滤时,我想禁用动画,该选项不得向下滑动。在这里我添加一个 Image.
【问题讨论】:
标签: javascript jquery asp.net-mvc kendo-ui kendo-grid
我认为没有“官方”配置选项。 您可以为所有弹出窗口禁用它,如下所示:
kendo.ui.Popup.fn.options.animation.open.duration = 0;
kendo.ui.Popup.fn.options.animation.close.duration = 0;
(demo)
请注意,这也会影响其他小部件(例如过滤器菜单中的下拉菜单),因此如果需要,您可能需要为这些小部件显式设置动画配置。 一种替代方法是为所有过滤器菜单设置动画(每列一个),例如:
$(".k-grid-header").find("th").each(function () {
var menu = $(this).data("kendoFilterMenu");
var init = menu._init;
menu._init = function () {
init.apply(this, arguments);
this.popup.options.animation.open.duration = 0;
this.popup.options.animation.close.duration = 0;
};
});
(demo)
【讨论】:
上面的答案对我很有用,但是对于我们如何使用剑道网格,网格的列菜单带来了另一个子菜单(如这里所示 http://demos.telerik.com/kendo-ui/grid/column-menu)。事实证明,虽然最初的下拉菜单是剑道类型“弹出”,但子菜单是剑道类型“菜单”。因此,如果您还希望子菜单没有动画,您可以添加以下几行:
kendo.ui.Menu.fn.options.animation.open.duration = 0;
kendo.ui.Menu.fn.options.animation.close.duration = 0;
或者,您可以使用animation = false的简写来禁用动画,因此最终结果可能是:
kendo.ui.Popup.fn.options.animation = false;
kendo.ui.Menu.fn.options.animation = false;
再次注意,这将关闭所有弹出窗口和菜单的动画。
【讨论】: