Проблема с обработкой второго нажатия(список ul li)
Привет.
Есть такой код -
$(".tags li").click(function(){
if (CloseArea === false) {
if(clicks == 0){
$(this).css( "transform", "scale(0.85)" );
TagsPick.push($(this).children().attr("href"));
clicks = 1;
}
else {
alert("test");
clicks = 0;
}
}
});
Когда нажимаю на один li всё норм, потом на него же, всё норм, alert работает. А вот если нажму на один, а потом на другой, то всё равно будет alert работать. Как решить эту проблему? Может идентифицировать тот li, по которому нажал пользователь с помощью
TagsPick.push($(this).children().attr("href"));
?Или есть метод попроще? |
Да, TagsPick.push($(this).children().attr("href"));
через это можно, мне кажется. Только как сравнить то по чему кликнул пользователь и тем что в массиве, через все элементы что бы проверить? |
cadijob,
:-? |
Цитата:
|
cadijob,
кто его знает что вы творите, но попробуйте так
$(".tags li").click(function(){
if (CloseArea === false) {
if($(this).is(".gmak")){
alert("test");
$(this).removeClass("gmak")
}
else {
$(this).css( "transform", "scale(0.85)" );
TagsPick.push($(this).children().attr("href"));
$(this).addClass("gmak")
}
}
});
|
Цитата:
Но есть проблема -
$(".tags li").click(function(){
if (CloseArea === false) {
if($(this).is(".gmak")){
$(this).css( "transform", "scale(1)" );
$(this).removeClass("gmak")
TagsPick.splice($(this).children().attr("href"), 1);
}
else {
$(this).css( "transform", "scale(0.85)" );
TagsPick.push($(this).children().attr("href"));
$(this).addClass("gmak")
}
console.log(TagsPick);
}
});
TagsPick.splice($(this).children().attr("href"), 1);
чистит массив не правильно, если в нём больше трёх элементов, если меньше то всё ок.В чём может быть проблема? |
cadijob,
TagsPick.splice(TagsPick.indexOf($(this).children().attr("href")), 1);
|
Цитата:
|
| Часовой пояс GMT +3, время: 09:55. |