鼠标悬停后用 mouseout 回到以前的状态? - 不设置固定值

after mouseover back to previous state with mouseout? -without setting fixed values

我正在开发一个颜色选择器来使用 JS 更改 CSS-SVG 图像的属性。 到目前为止,我的基本代码可以在单击和鼠标悬停时更改 SVG 路径的填充颜色。

我希望在鼠标离开按钮后填充颜色回落到之前的 'selected' 颜色。 我知道我可以为 mouseout-function 定义一个固定值。但是,如果用户通过点击选择颜色,我 想要设置点击的选择 (稍后将它们放入 php 变量中) 并且快速mouseover-'blend-ins' 真的应该暂时显示 用户悬停..

也就是说:如果用户之前点击过,则通过回退到点击状态来退出鼠标悬停状态。

颜色将暂时设置为鼠标悬停选择;这应该只是用户的视觉指导,而不是设置本身。

可能我的 JS-Example 比我的话解释得更好:

$(function(){
$("#s01aFI").css("fill","#fff");

  $("#fw01-f01").mouseover(function(){
  $("#s01aFI").css("fill","#e53741");
  });
  $("#fw01-f01").click(function(){
  $("#s01aFI").css("fill","#e53741");
  });
  $("#fw01-f01").mouseout(function(){
  $("#s01aFI").css("fill","RECENT-STATE");
  });

  ...

});
.f01 { background-color:#e53741; }
.f02 { background-color:#419327; }
...
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
*JS-Function*
</script>

<svg>
<path id="s01aFI" d="***"/>
</svg>

<button id="fw01-f01" class="farbwahler f01">01</button>
<button id="fw01-f02" class="farbwahler f02">02</button>
...
P.S。如果你能给我一个冗余的提示,那就太好了;因为我即将对很多颜色和元素执行此操作,而且从昨天开始我是 JS 的新手。 :)

如果我没看错你想要这个代码:

$(this) - 与悬停的当前按钮一起工作

$(function(){
  var preview = $("#s01aFI");
  var colorBut = $(".farbwahler"); //any button
  var curColor = "gold";

  colorBut.mouseover(function(){
    $(this).data('clicked', false);
    var color = $(this).css('background-color');
    preview.css("fill",color);
  });
 
  colorBut.mouseout(function(){
    var isClick = $(this).data('clicked');
    if(!isClick){
      var color = $(this).css('background-color');
      preview.css("fill",curColor );
    }
  });
  
  colorBut.click(function(){
    var color = $(this).css('background-color');
    preview.css("fill",color);
    curColor = color;
    $(this).data('clicked', true);
  });
});
.f01 { background-color:#e53741; }
.f02 { background-color:#419327; }

svg {
  width: 200px;
  height: 200px;
  border: 1px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<svg>
  <path id="s01aFI" d="M 10,110 L 10,10 L 40,50 L 70,10 L 100,50 L 130,10 L 130,110 z"
          fill="gold" stroke="orange" stroke-width="5"/>
</svg>

<button id="fw01-f01" class="farbwahler f01">01</button>
<button id="fw01-f02" class="farbwahler f02">02</button>