Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Оптимизация кода (https://javascript.ru/forum/jquery/41794-optimizaciya-koda.html)

Nifler 29.09.2013 16:31

Оптимизация кода
 
День добрый. Пока только начал разбираться в jQuery и написал дико неграмотный код как по мне.
$(document).ready(function(){
    $("#block-tabbet-links > div").addClass("tab-link");
});
$(document).ready(function(){
	$('div[id^="block-tabbet-content"]').addClass("tab-content");
});
$(document).ready(function() {
        $('#block-tabbet-links-1').bind('click', function() {
			  $('div[id^="block-tabbet-content"]').removeClass('tab-active');
              $('#block-tabbet-content-1').addClass('tab-active');
			  $('div[id^="block-tabbet-links"]').removeClass('tab-link-selected');
			  $(this).addClass("tab-link-selected");
         });
});
$(document).ready(function() {
        $('#block-tabbet-links-2').bind('click', function() {
			  $('div[id^="block-tabbet-content"]').removeClass('tab-active');
              $('#block-tabbet-content-2').addClass('tab-active');
			  $('div[id^="block-tabbet-links"]').removeClass('tab-link-selected');
			  $(this).addClass("tab-link-selected");
         });
});
$(document).ready(function() {
        $('#block-tabbet-links-3').bind('click', function() {
			  $('div[id^="block-tabbet-content"]').removeClass('tab-active');
              $('#block-tabbet-content-3').addClass('tab-active');
			  $('div[id^="block-tabbet-links"]').removeClass('tab-link-selected');
			  $(this).addClass("tab-link-selected");
         });
});
$(document).ready(function() {
        $('#block-tabbet-links-4').bind('click', function() {
			  $('div[id^="block-tabbet-content"]').removeClass('tab-active');
              $('#block-tabbet-content-4').addClass('tab-active');
			  $('div[id^="block-tabbet-links"]').removeClass('tab-link-selected');
			  $(this).addClass("tab-link-selected");
         });
});
$(document).ready(function() {
        $('#block-tabbet-links-5').bind('click', function() {
			  $('div[id^="block-tabbet-content"]').removeClass('tab-active');
              $('#block-tabbet-content-5').addClass('tab-active');
			  $('div[id^="block-tabbet-links"]').removeClass('tab-link-selected');
			  $(this).addClass("tab-link-selected");
         });
});

этот код делает реализацию табов. вот ссылка, как это выглядит
http://demo.nifler.com/

Вопрос: на сколько сильно такое количество кода и операций(при каждом событии оно изменяет стили в 4 раз больше чем нужно) влияет на быстродействие сайта. Сейчас то там ничего нету, но когда будет, то сильно ли оно будет тормозить, или проблема такого кода только в читаемости?

ksa 29.09.2013 16:55

Nifler, почему у тебя постоянно повторяется
$(document).ready(...)

?

Да и пять раз повторять однотипные действия - это сильно! :)

Nifler 29.09.2013 17:54

$(document).ready(...) лишние удалил, а вот как изменить постоянно повторяющиеся действия без понятия). но тем не менее, я осознаю что это быдлокод в прямом проявлении, но существенно ли он влияет на загруженность системы?

ksa 29.09.2013 17:58

Цитата:

Сообщение от Nifler
а вот как изменить постоянно повторяющиеся действия без понятия

1. Есть циклы
2. Использовать классы
3. Менять контент на странице

Цитата:

Сообщение от Nifler
но существенно ли он влияет на загруженность системы?

Ты занимаешься сложными, циклическими вычислениями вычислениями? Нет.

Как может "нагрузить" простое клацанье по кнопке, которое влечет добавление и удаление класса? :)

Nifler 29.09.2013 18:19

Цитата:

Сообщение от ksa (Сообщение 274249)
Ты занимаешься сложными, циклическими вычислениями вычислениями? Нет.

Как может "нагрузить" простое клацанье по кнопке, которое влечет добавление и удаление класса? :)

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

ksa 29.09.2013 21:05

Цитата:

Сообщение от Nifler
вылизывать буду попозже

Алгоритмизация такое дело, которое лучше делать сразу как нужно. ;)

Nifler 30.09.2013 21:14

Цитата:

Сообщение от ksa (Сообщение 274280)
Алгоритмизация такое дело, которое лучше делать сразу как нужно. ;)

это знаю еще по примеру того, как лез в дебри php в смысле реальных дебрей, с извращениями на строгую типизацию и другие странности. Но если сейчас не получу видимых результатов, то пойду бухать а не продолжать заниматься)


Часовой пояс GMT +3, время: 08:34.