2014-11-30 3 views
0

Я внедрил шрифт в моем проекте. Все работает нормально.Изменение шрифта-удивительный значок при нажатии без перезагрузки страницы

Так что я написал несколько jqyuery, чтобы изменить шрифт-устрашающий значок щелкнули на другую иконку (пустой квадрат -> проверил квадрат), используя этот код:

function checkTask(){ 
    // Dit loopke zodanig dat we dit doen voor alle taken 
    $(".status").on('click' , function(a){ 
     a.preventDefault(); 
     var klikedItem = $(this).parent().attr('id'); 
     var Deid = klikedItem.slice(5, 6); 
     console.log("idnvanelement" + Deid); 
     if($(this).hasClass('fa-square-o')){ 
      localStorage.setItem("Status-" + Deid, 'klaar'); 
     } else { 
      localStorage.setItem("Status-" + Deid, 'nietklaar'); 
     } 
    }); 

    var lengthNumber = localStorage.getItem('TaskNumber'); 
    for(i=1; i <= lengthNumber; i++) { 
    if (localStorage.getItem("Status-" + i) == 'klaar'){ 
     $("#task-" + i + "> a.status").removeClass('fa-square-o').addClass('fa-check-square-o'); 
    } 
    } 
} 
checkTask(); 

Так что этот код делает, это, если элемент щелкнут, измените класс-класс. Но, логотип не меняется тогда. Поэтому мне нужно перезагрузить страницу. Но я не хочу этого.

Как я могу поменять шрифт-удивительный логотип без перезагрузки страницы? Я попытался использовать ajax, но не преуспел. JSfiddle, если вам нравятся!

+0

Вместо того, чтобы только обновлять локальное хранилище, вы должны также включать '.addclass()' так классы могут быть заменены в прямом эфире, или на лета. – Terry

+0

Это работает отлично! Спасибо!! – user3634184

ответ

0

Ответа таков:

function checkTask(){ 
    // Dit loopke zodanig dat we dit doen voor alle taken 
    $(".status").on('click' , function(a){ 
     a.preventDefault(); 
     var klikedItem = $(this).parent().attr('id'); 
     var Deid = klikedItem.slice(5, 6); 
     console.log("IDvanelement" + Deid); 
     if($(this).hasClass('fa-square-o')){ 
      localStorage.setItem("Status-" + Deid, 'klaar'); 
      $("#task-" + Deid + "> a.status").removeClass('fa-square-o').addClass('fa-check-square-o'); 
     } else { 
      localStorage.setItem("Status-" + Deid, 'nietklaar'); 
      $("#task-" + Deid + "> a.status").removeClass('fa-check-square-o').addClass('fa-square-o'); 
     } 
    }); 

    var lengthNumber = localStorage.getItem('TaskNumber'); 
    for(i=1; i <= lengthNumber; i++) { 
    if (localStorage.getItem("Status-" + i) == 'klaar'){ 
     $("#task-" + i + "> a.status").removeClass('fa-square-o').addClass('fa-check-square-o'); 
    } 
    } 
} 
checkTask(); 
Смежные вопросы