四个div,点击变换不同颜色,如果颜色全部变了执行某个函数。思路是怎样的呢
$(".suo").each(function(i){
if(i==0){
$(this).click(function(){
$(this).css("background","yellow");
$(this).data("data","change");
});
}
if(i==1){
$(this).click(function(){
$(this).css("background","green");
$(this).data("data","change");
});
}
if(i==2){
$(this).click(function(){
$(this).css("background","#0066cc");
$(this).data("data","change");
});
}
if(i==3){
$(this).click(function(){
$(this).css("background","#666");
$(this).data("data","change");
});
}
});
不行啊,一个div点四次也可以消失。。。。
追答
var flag = ["red", "green", "blue", "yellow"];
$(document).ready(function () {
$("#red").on("click", function () {
$(this).css("background-color", "red");
$("#body").trigger("changeColorEvent", $(this).attr('id'));
});
$("#body").on("changeColorEvent", function (event,id) {
if (flag != undefined && flag != "" && jQuery.inArray(id, flag)>=0) {
flag.splice(jQuery.inArray(id, flag), 1);
}
if (flag == "") {
$("div").removeAttr("style");
}
});
});
能详细点么
追答在四个变色方法加入boolean,,,变了就true....最后判断,四个全是ture就执行方法