不切换类工作来添加/删除类?

时间:2012-01-30 21:46:05

标签: javascript jquery jquery-ui

$('#searchBox input').focus(function(){
                            console.log(true);
                            $('nav').addClass('searching');

 });
 $('#searchBox input').blur(function(){
                            console.log(false)
                            $('nav').removeClass('searching');
});

这很好用:根据焦点或模糊,将“搜索”类添加到导航元素并将其删除。

我想添加一些动画,而不是动画每个元素,想尝试switchClass

$('#searchBox input').focus(function(){
                            console.log(true);
                           // $('nav').addClass('searching');
                            $('nav').switchClass( 'no-existe',  "searching", 1000 );
                        });
                        $('#searchBox input').blur(function(){
                            console.log(false)
                            //$('nav').removeClass('searching');
                            $('nav').switchClass(  "searching",'no-existe', 1000 );
});

no-existe是一个不存在的类(想通了我需要在remove / add参数中传递一些内容) 这会记录真/假,但不会改变导航的类

任何想法为什么?

2 个答案:

答案 0 :(得分:3)

switchClass()可能会在添加“搜索”类之前检查以确认所选元素是否具有“no-existe”类。我没有在文档中看到任何支持你调用它的方式。

答案 1 :(得分:1)

SwitchClass是jquery UI的一部分

请参阅http://docs.jquery.com/UI/Effects/switchClass

您是否正在导入jQuery UI库?