Knockoutjs自定义绑定和jquery淡入淡出逻辑不起作用

时间:2014-06-23 12:41:10

标签: jquery knockout.js

您好我正在关注此处发布的小提琴以建立SPA。

在此fiddle中,div的可见性在选择更改时切换。我想在选择使用自定义绑定进行更改时添加动画淡入/淡出。

ko.bindingHandlers.fade= {
    update: function(element, valueAccessor) {
        $(element).fadeToggle( "slow", "linear" );
    }  
}

已更新fiddle with fadetoggle

我无法提出仅切换selectedSection而不是所有div的逻辑。

1 个答案:

答案 0 :(得分:2)

我认为你正在寻找这样的东西:

ko.bindingHandlers.fade= {
    update: function(element, valueAccessor) {
        if (ko.utils.unwrapObservable(valueAccessor()))
            $(element).fadeIn( "slow", "linear" );
        else
            $(element).fadeOut( "slow", "linear" ); //maybe you should hide here
            //$(element).hide();
    }  
}

其中ko.utils.unwrapObservable(valueAccessor())将是selectedSection() === 'profile'(例如)

的结果

Demo