Проблема в работе простого web приложения для визуализации исторической даты
решил создать простую таблицу, чтобы даты было проще запоминать и восстанавливать из памяти
в итоге наваял кое-что на js (http://date-visualisation.ip64.net/), но т.к. программист из меня хреновый - работает не так гладко, как хотелось :( при нажатии несколько раз подряд на разные числа, некоторые нажимаются со второго раза возможно проблема в toggle, но я не уверен буду благодарен, если попробуете разобраться :yes: скрипт для кнопок-чисел:
$('.numb').toggle(function() {
var col = this.parentNode.parentNode.id, previousActive = '';
previousActive = '#' + col + ' .block .numb.active';
$(previousActive).removeClass('active');;
$(this).addClass('active');
}, function () {
$(this).removeClass('active');
});
скрипт кнопки clear (снизу таблицы):
$('#clear').click(function() {
var id1 = '#c', id2 = '#b', id3 = '#n', result = '';
for (var i = 1; i < 5; i++) {
for (var j = 1; j < 4; j++) {
for (var k = 1; k < 4; k++) {
result = id1 + i + ' ' + id2 + j + ' ' + id3 + k;
$(result).removeClass('active');
}
}
}
});
|
ну во-перных я открыл сайт, там у вас 2 раза был подключен jquery. сразу возникает вопрос - зачем?? убирайте..
второе. jquery - это мощная библиотека. и она очень хорошо справляется с данными задачами. а вы делайте половину работы вручную.. тоже возникает вопрос. зачем??)))) вот код:
$(document).ready(function(){
//------------
var numb = $('.numb');
$(numb).click(function ()
{
var isClass = $(this).hasClass('active');
$(this).parent().parent().find('.numb').removeClass('active');
if (!isClass)
$(this).addClass('active');
});
$('#clear').click(function()
{
$(numb).removeClass('active');
});
//------------
});
думаю разница ощутима. сколько вы там налопатили и сколько я.. код мой то раза в 2 меньше и проще... а вот насчет того что где то что то не срабатывает с первого раза, честно я не нашел.. вроде работает норм |
| Часовой пояс GMT +3, время: 09:54. |