/**
* Меню без перезагрузки
*/
$("a").click(function(e){
e.preventDefault();
$(".nav li").removeClass("active");
if($(this).parent().parent().hasClass("dropdown-menu")){
$(this).parent().parent().parent().addClass("active");
} else {
$(this).parent().addClass("active");
}
var url = $(this).attr("href");
/**
* Если пользователь пытается перейти по ссылке, которая ведет на эту же страницу, то ничего не делать.
*/
if(window.location.pathname == url)return;
if(url != '/lessons' && url != '/articles'){
$("#content").html($(".loading").html());
$(".loading_img").css({"opacity":"0"}).animate({'opacity': 1}, 1000);
history.pushState(null, null, url); // меняет url без перезагрузки страницы
$.ajax({
url: url, // указываем URL и
dataType : "html", // тип загружаемых данных
success: function (data) { // вешаем свой обработчик на функцию success
if(data.length>0){
$("#content").html(data);
}
}
});
}
});
2. Пытаюсь обработать клик по лайку, но браузер никак на это не реагирует (консоль молчит, вообще ничего не происходит, будто нет обработчика js):
$(".like").click(function(e){
e.preventDefault();
var
id = $(this).data('id'),
for_count = $(this).children(".count"),
count = parseInt(for_count.html()),
img = $(this).children(".like_img"),
my_like = false;
if(img.hasClass('glyphicon-heart-empty')) {
my_like = true;
}
$.get('/like', {id:id, my_like:my_like}, function(data){
if((data["return"])==null){
$(".bs-example-modal-sm").modal('show');
}
if(data["return"] == "save"){
for_count.html(count+1);
img.removeClass('glyphicon-heart-empty').addClass('glyphicon-heart');
} else {
if(data["return"] == "delete"){
for_count.html(count-1);
img.removeClass('glyphicon-heart').addClass('glyphicon-heart-empty');
} else {
$(".bs-example-modal-sm").modal('show');
}
}
}, "json");
});
3. Если страницу пезезагружаю (т.е. загружаю целиком, не используя ajax), то все работает нормально.
Чет не могу сообразить, какой правильный вопрос задать Googl-у, чтоб он понял, что я от него хочу. Help me.
_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter