0
场景:我有两个按钮。在两个按钮之间是一个具有用css定义的三个状态的V形图像。每个州都有一个中立的班级,卖掉它,购买它。取决于页面,V形可以处于三种状态中的任何一种。在鼠标悬停的两个按钮之一,我试图切换相应的类。例如:如果默认状态是“买入”类,那么买入按钮将不会对卖出它进行任何调整,它将按钮切换类“卖出”,但返回到默认的“买入”,通过鼠标购买。如果人字形处于中立状态,则悬浮在任一按钮上将切换购买/出售,但返回中性。带条件/默认状态的jQuery toggleClass
这是如此接近,但不完全是我想要的。
(function(){
var buttonChevrons = (function(){
var initialize = function(){
_setDefault();
_setListeners();
}
//set default state
var _setDefault = function(){
//$(".chevron").addClass("neutral");
}
//set event listeners
var _setListeners = function(){
//Buy button
$("#btnbuy").hover(function(){
//default neutral state
if($(".chevron").hasClass("neutral")) {
$(".chevron").toggleClass("buy-it");
}
//if buy it
else if($(".chevron").hasClass("buy-it")) {
$(".chevron").toggleClass("");
}
//if sell it
else if($(".chevron").hasClass("sell-it")) {
$(".chevron").toggleClass("buy-it");
}
})
//Sell button
$("#btnsell").hover(function(){
//default neutral state
if($(".chevron").hasClass("neutral")) {
$(".chevron").toggleClass("sell-it");
}
//if sell it
else if($(".chevron").hasClass("sell-it")) {
$(".chevron").toggleClass("");
}
//if buy it
else { $(".chevron").hasClass("buy-it")
$(".chevron").toggleClass("sell-it");
}
})
}
//call initialize
return {init: initialize}
}());
//call buttonChevrons
this.buttonChevrons = buttonChevrons;
}).call(this);
$(document).ready(function(){
buttonChevrons.init()
});
这看起来更有前途,我喜欢这个逻辑。但是,默认状态将在标记中指定,并且在每个页面上可能不同。我只是插入它,它的工作,有点,就像我已经有的一样......嗯? – intheusa
您可以将默认状态设置为购买,出售或中性,并且翻转工作正常。当您离开时,V形状态总是返回到默认状态。获取默认状态很简单...只需使用'hasClass()'来测试哪个类已经存在。 – slashingweapon
那里。我添加了初始状态发现并更新了小提琴。请享用。 – slashingweapon