jqueryui`removeClass`不';行不通
这是我的HTMLjqueryui`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">
<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@ahmadalishafieevar
不是您试图解决的问题,但它仍然是一个问题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);
});
});