Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.05.2013, 19:57
Новичок на форуме
Отправить личное сообщение для Futurial Посмотреть профиль Найти все сообщения от Futurial
 
Регистрация: 06.05.2013
Сообщений: 2

Проблема в работе простого web приложения для визуализации исторической даты
решил создать простую таблицу, чтобы даты было проще запоминать и восстанавливать из памяти

в итоге наваял кое-что на js (http://date-visualisation.ip64.net/), но т.к. программист из меня хреновый - работает не так гладко, как хотелось

при нажатии несколько раз подряд на разные числа, некоторые нажимаются со второго раза

возможно проблема в toggle, но я не уверен

буду благодарен, если попробуете разобраться


скрипт для кнопок-чисел:
$('.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');
			    	}
			    	}
		    	}
				
			});

Последний раз редактировалось Futurial, 06.05.2013 в 20:07. Причина: add
Ответить с цитированием
  #2 (permalink)  
Старый 08.05.2013, 13:01
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

ну во-перных я открыл сайт, там у вас 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 меньше и проще...

а вот насчет того что где то что то не срабатывает с первого раза, честно я не нашел.. вроде работает норм

Последний раз редактировалось skrudjmakdak, 08.05.2013 в 13:10.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск