3

我的应用程序中有一个 Kendo-ui 选项卡条,并且我禁用了与该配置相关的所有动画,如下所示。

$("#tabStrip").kendoTabStrip({
    animation: false
});

当我打开标签时,这工作正常,根本没有动画。但是当我使用如下选择方法通过代码打开选项卡时,问题就来了。

var tabStrip = $("#tabStrip").data("kendoTabStrip");
tabStrip.select(tabStrip.tabGroup.children("li").eq(1));

打开选项卡时显示动画,因为我猜它是选项卡条的默认动画。我也想禁用它。如果您对如何操作有任何想法,请回答。

谢谢。

4

2 回答 2

1

而不是使用select,使用activateTab类似的:

HTML:

<div id="tabstrip">
    <ul>
        <li class="k-state-active">Tab 1</li>
        <li>Tab 2</li>
    </ul>
    <div>Content 1</div>
    <div>Content 2</div>
</div>
<a class="activate" href="#">Activate Tab 2</a>

CSS:

.activate {
    margin-top: 50px;
    float: left;
}

JS:

var $tabs = $("#tabstrip");

$tabs.kendoTabStrip({
    animation: false
});

$(".activate").on("click", function () {
    $tabs.data("kendoTabStrip")
        .activateTab($tabs.find(">ul>li:eq(1)"));

    return false;
});

在这里工作小提琴:http: //jsfiddle.net/GaHaG/3/

此处的文档:http ://docs.kendoui.c​​om/api/web/tabstrip#methods-activateTab

于 2013-10-18T05:09:48.243 回答
0

这是一个正确而明确的答案。但在我的情况下,情况并非如此。select() 也可以正常工作。问题出在我的代码中,我使用了不同的方法来选择要选择的选项卡项,我没有在上面显示以简化代码。在我的真实应用程序中就像

var getTabItem=function(target, index){
    var tabStrip = $(target).kendoTabStrip().data("kendoTabStrip");
    return tabStrip.tabGroup.children("li").eq(index)
}

所以我在 select 方法中调用了这个方法来获取要选择的选项卡项。在那个方法中,我使用kendoTabStrip()来获取标签条,因为我认为它正在重新初始化标签条并删除动画:我最初完成的错误设置。我删除了该部分,因为我已经初始化了标签条,然后它开始按预期运行。无论如何,您的答案是正确的答案,这完全是我的错。感谢您的帮助,我认为这篇文章将对面临此类问题的其他人有所帮助。

于 2013-10-20T22:10:33.340 回答