как уничтожить повара ie после второго клика - PullRequest
1 голос
/ 01 февраля 2020

я сохранил цвет кнопки у повара ie, поэтому, если кнопка нажала, цвет css останется после обновления страницы sh, но я не знаю, как уничтожить повара ie после второй щелчок, так что если пользователь снова щелкнет кнопку цвета обратно к оригиналу, я использую jquery cook ie плагин

jquery:

var color = Cookies.get('color')
console.log(color)

if(color)
    $('.likes-button').addClass(color)
Cookies.remove('color')

$('.likes-button').click(function(){
    var csrftoken = $('[name="csrfmiddlewaretoken"]').val();
    var el= this;
    var ajaxdata = $(this).attr('data-id');
    var ajaxstring = $(this).attr('string');
    console.log(ajaxstring)

    $.ajax({
        type: "POST",
        url: '/ajax/upvote/',
        data: JSON.stringify({'product_id' : ajaxdata,'string': ajaxstring}),
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
            "X-CSRFToken": csrftoken
        },
        success: function(response) {
            var up = response['likes']
            var string = response['string']
            console.log(string);
            console.log(up)
            $(el).find('.target').html(up);
            $(el).find('.string').html(string);
            $('.likes-button').toggleClass(color)
            Cookies.set('color', 'heart')
        }
    })
})                    



css

.heart i.fa-heart{
    color : #f44336
}

Ответы [ 2 ]

2 голосов
/ 01 февраля 2020

Вы можете добавить блок if, чтобы проверить, установлен или нет повар ie. Если повар ie уже настроен, удалите его, в противном случае добавьте.

Пример:

if(Cookies.get('color')) {
 Cookies.remove('color');
} else {
 Cookies.set('color', 'heart');
}

Полный код

let color = Cookies.get("color");
if (color) {
  $(".likes-button").toggleClass(color);
}

$(document).ready(function() {
  $(".likes-button").click(function() {
    var csrftoken = $('[name="csrfmiddlewaretoken"]').val();
    var el = this;
    var ajaxdata = $(this).attr("data-id");
    var ajaxstring = $(this).attr("string");
    console.log(ajaxstring);

    $.ajax({
      type: "POST",
      url: "/ajax/upvote/",
      data: JSON.stringify({ product_id: ajaxdata, string: ajaxstring }),
      headers: {
        Accept: "application/json",
        "Content-Type": "application/json",
        "X-CSRFToken": csrftoken
      },

      success: function(response) {
        var up = response["likes"];
        var string = response["string"];
        console.log(string);
        console.log(up);
        $(el)
          .find(".target")
          .html(up);
        $(el)
          .find(".string")
          .html(string);
        if (Cookies.get("color")) {
          $(".likes-button").toggleClass(Cookies.get("color"));
          Cookies.remove("color");
        } else {
          Cookies.set("color", "heart");
          $(".likes-button").toggleClass("heart");
        }
      },
      error: function(rs, e) {
        alert(rs.responseText);
      }
    });
  });
});

0 голосов
/ 01 февраля 2020

решение: благодаря @Sohail

let color = Cookies.get("color");
if (color) {
$(".likes-button").toggleClass(color);
}

$(document).ready(function() {
      $('.likes-button').click(function(){
 var csrftoken = $('[name="csrfmiddlewaretoken"]').val();
 var el= this;
 var ajaxdata = $(this).attr('data-id');
 var ajaxstring = $(this).attr('string');
    console.log(ajaxstring)

      $.ajax({
               type: "POST",
               url: '/ajax/upvote/',
               data: JSON.stringify({'product_id' : ajaxdata,'string': ajaxstring}),
                headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                "X-CSRFToken": csrftoken
            },

               success: function(response) {
                var up = response['likes']
                var string = response['string']
                console.log(string);
                   console.log(up)
                       $(el).find('.target').html(up);
                        $(el).find('.string').html(string);
                    if (Cookies.get("color")) {
                    $(".likes-button").toggleClass(Cookies.get("color"));
                    Cookies.remove("color");
                    } else {
                    Cookies.set("color", "heart");
                    $(".likes-button").toggleClass("heart");
                    }


                },
                error: function(rs, e) {
                       alert(rs.responseText);
                }
          });
    })
    });


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...