Как сбросить SVG цвет по второму клику - PullRequest
1 голос
/ 20 сентября 2019

Я использую это, чтобы заполнить svg при клике:

jQuery('#color-my-svg').on("click", function() {
    jQuery('#color-my-svg').css({ fill: "#ff0000" });

, что является самым простым способом восстановить цвет по умолчанию, когда пользователь нажимает кнопку во второй раз?

Ответы [ 3 ]

2 голосов
/ 20 сентября 2019

Самый простой способ добиться этого - установить fill с помощью класса CSS, а затем переключить этот класс по щелчку:

$('#color-my-svg').on("click", function() {
  $(this).toggleClass('foo');
});
svg rect {
  fill: #CCC;
}
.foo {
  fill: red; 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<svg>
  <rect id="color-my-svg" x="10" y="10" width="100" height="100" stroke="black" />
</svg>
0 голосов
/ 20 сентября 2019

Этот код может быть полезен ...

jQuery('#color-my-svg').on("click", function() {
  if(!jQuery(this)[0].hasAttribute('style')){
    jQuery('#color-my-svg').css({ fill: "#ff0000" });
  }
  else{
    jQuery(this).removeAttr('style');
  }
});
0 голосов
/ 20 сентября 2019

Попробуйте: -

var change_color = 0;
jQuery('#color-my-svg').on("click", function() {
if(change_color==0){
    jQuery('#color-my-svg').css({ fill: "#ff0000" });
    change_color = 1;
    }
else{
jQuery('#color-my-svg').css({ fill: "blue" });
    change_color = 0;
}    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...