Dobrý den.
Dělal jsem jednoduchý kód s jquery a z nějakého důvodu se click opakuje stále dokola, a nemůžu zjistit proč.
Celý kód:
$(".messages").animate({ scrollTop: $(document).height() }, "fast");
$("#profile-img").click(function() {
$("#status-options").toggleClass("active");
console.log("Profile img clicked");
});
$(".expand-button").click(function() {
$("#profile").toggleClass("expanded");
$("#contacts").toggleClass("expanded");
console.log("expand btn clicked");
});
$("#status-options ul li").click(function() {
$("#profile-img").removeClass();
$("#status-online").removeClass("active");
$("#status-away").removeClass("active");
$("#status-busy").removeClass("active");
$("#status-offline").removeClass("active");
$(this).addClass("active");
if($("#status-online").hasClass("active")) {
$("#profile-img").addClass("online");
} else if ($("#status-away").hasClass("active")) {
$("#profile-img").addClass("away");
} else if ($("#status-busy").hasClass("active")) {
$("#profile-img").addClass("busy");
} else if ($("#status-offline").hasClass("active")) {
$("#profile-img").addClass("offline");
} else {
$("#profile-img").removeClass();
};
$("#status-options").removeClass("active");
});
function newMessage() {
message = $(".message-input input").val();
if($.trim(message) == '') {
return false;
}
$('<li class="sent"><img src="http://emilcarlsson.se/assets/mikeross.png" alt="" /><p>' + message + '</p></li>').appendTo($('.messages ul'));
$('.message-input input').val(null);
$('.contact.active .preview').html('<span>You: </span>' + message);
$(".messages").animate({ scrollTop: $(document).height() }, "fast");
};
$('.submit').click(function() {
newMessage();
});
$(window).on('keydown', function(e) {
if (e.which == 13) {
newMessage();
return false;
}
});
Když kliknu na jeden z elementů, např .expand-button tak se bude stále aktivovat dokola, a já nevím proč.