シナリオ: 2 つのボタンがあります。2 つのボタンの間には、css で定義された 3 つの状態を持つシェブロン イメージがあります。各州には、ニュートラル、セルイット、バイイットのクラスがあります。ページに応じて、シェブロンは 3 つの状態のいずれかになります。2 つのボタンのいずれかをマウスオーバーすると、それぞれのクラスを切り替えようとしています。例: デフォルトの状態が「buy-it」クラスの場合、buy it ボタンの上にマウスを置いても何もしません。sell it ボタンの上にマウスを置いても、クラス「sell-it」が切り替わりますが、デフォルトの「buy-it」に戻ります。 . シェブロンがニュートラル状態の場合、マウスをいずれかのボタンに重ねると、バイイット/セルイットが切り替わりますが、ニュートラルに戻ります。
それはとても近いですが、私が望むことを完全には行っていません。
(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()
});