这是我的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>
我想删除out
类并使用jquery-ui添加in
类。这是代码:
//focuse mouseower
function fmo(element) {
var $element = $(element);
$element.removeClass("out");
$element.addClass("in",300);
}
//blur mouseout
function bmo(element) {
var $element = $(element);
$element.removeClass("in");
$element.addClass("out",300);
}
function ready() {
$(".cb").mouseover(function () { fmo(this); });
$(".cb").mouseout(function () { bmo(this); })
$(".cb").focus(function () { fmo(this); });
$(".cb").blur(function () { bmo(this); });
}
$(function () { ready(); });
上面的代码不起作用,但如果我删除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(); });
它有效。我不知道该怎么办,但我真的需要帮助。 的更新 这是我的风格(我认为它可能影响结果)
<style type="text/css">
.out {
display: inline-block;
margin-left: 5px;
background-color: #56a100;
opacity: 0.5;
margin: auto;
width: 70%;
height: 70%;
}
.in {
display: inline-block;
margin-left: 5px;
background-color: #56a100;
opacity: 1;
margin: auto;
width: 100%;
height: 100%;
}
.base {
display: inline-block;
width: 50px;
height: 50px;
margin-left: 5px;
margin-top: 100px;
}
</style>
我上传了代码here
答案 0 :(得分:3)
试试这个
$(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);
});
});
答案 1 :(得分:0)
你在哪里获得添加/删除类的第二个参数?
使用队列,使用链接,并使函数重用代码。
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);