Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jqueryui`removeClass`不';行不通_Jquery_Jquery Ui - Fatal编程技术网

jqueryui`removeClass`不';行不通

jqueryui`removeClass`不';行不通,jquery,jquery-ui,Jquery,Jquery Ui,这是我的HTML <div id="c"> <div class="base"> <div class="cb out" id="red" data-color="Red"> </div> </div> <div class="base"> <div class="cb out" id="green" data-color="Green">

这是我的HTML

<div id="c">
    <div class="base">
        <div class="cb out" id="red" data-color="Red">
        </div>
    </div>
    <div class="base">
        <div class="cb out" id="green" data-color="Green">
        </div>
    </div>
    <div class="base">
        <div class="cb out" id="blue" data-color="Blue">
        </div>
    </div>
</div>
上面的代码不起作用,但如果我删除jquery ui引用并使用jquery执行此代码的工作:

    //focuse mouseower
    function fmo(element) {
        var $element = $(element);
        $element.removeClass("out");
        $element.addClass("in");
    }

    //blur mouseout
    function bmo(element) {
        var $element = $(element);
        $element.removeClass("in");
        $element.addClass("out");

    }
    function ready() {
        $(".cb").mouseover(function () { fmo(this); });
        $(".cb").mouseout(function () { bmo(this); })
        $(".cb").focus(function () { fmo(this); });
        $(".cb").blur(function () { bmo(this); });
    }
    $(function () { ready(); });
它起作用了。我不知道该怎么办,但我真的需要帮助。 更新 这是我的风格(我认为这可能会影响结果)


.出去{
显示:内联块;
左边距:5px;
背景色:#56a100;
不透明度:0.5;
保证金:自动;
宽度:70%;
身高:70%;
}
.在{
显示:内联块;
左边距:5px;
背景色:#56a100;
不透明度:1;
保证金:自动;
宽度:100%;
身高:100%;
}
.基地{
显示:内联块;
宽度:50px;
高度:50px;
左边距:5px;
边缘顶部:100px;
}

我上传了代码

您从哪里获得添加/删除类的第二个参数

使用队列,使用链接,并使函数重用代码

function helper (_elem, add, remove){
  var elem = $(_elem);
    elem.removeClass(remove).delay(300).queue(
     function(next){
        elem.addClass(add);
        next();
     }
  );
}

//focus mouseower
function fmo() {
  helper(this, "in","out");
}

//blur mouseout
function bmo() {
  helper(this, "in","out");
}

function ready() {
    $(".cb").on("mouseover focus", fmo).on("mouseout blur", fmo);
}
$(ready);
试试这个

$(function(){ 
    $(".cb").on('mouseenter', function(){ 
        $(this).stop(1,1).removeClass("out").addClass("in", 300);
    })
    .on('mouseleave', function(){ 
        $(this).stop(1,1).removeClass("in").addClass("out",300); 
    });
});​

挑剔:您的代码中充满了全局变量,因为您没有声明var。var不是可选的。@epascarello:我添加了
var
,但没有任何更改。还是没有working@ahmadalishafiee
var
不是您试图解决的问题,但它仍然是一个问题problem@HunterMcMillen字体我知道。我编辑了代码页面上有错误吗?你确定jQueryUI被正确地包含了吗?第二个参数是由以下内容添加的:我不想
延迟
!!我想用
addClass
方法
animate
,jqueryui就有了它!
function helper (_elem, add, remove){
  var elem = $(_elem);
    elem.removeClass(remove).delay(300).queue(
     function(next){
        elem.addClass(add);
        next();
     }
  );
}

//focus mouseower
function fmo() {
  helper(this, "in","out");
}

//blur mouseout
function bmo() {
  helper(this, "in","out");
}

function ready() {
    $(".cb").on("mouseover focus", fmo).on("mouseout blur", fmo);
}
$(ready);
$(function(){ 
    $(".cb").on('mouseenter', function(){ 
        $(this).stop(1,1).removeClass("out").addClass("in", 300);
    })
    .on('mouseleave', function(){ 
        $(this).stop(1,1).removeClass("in").addClass("out",300); 
    });
});​