- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
"use strict"
var carousel = document.getElementById("carousel");
var carouselItems = document.getElementsByClassName("carousel-item");
var carouselIndecarors = document.getElementsByClassName("carousel-indicator");
var carouselActiveInt = 0;
var carouselInterval;
var carouselRefresh = function(){
}
for(var i=0;i<document.getElementsByClassName("carousel-indicator").length;i++){
document.getElementsByClassName("carousel-indicator")[i].onclick = function(){carouselIndecarorChange(this)};
}
var carouselIndecarorChange = function(id){
carouselItems[carouselActiveInt].classList.toggle("carousel-item__active");
carouselIndecarors[carouselActiveInt].classList.toggle("carousel-indicator__active");
carouselActiveInt = id.getAttribute("data-slide-to");
carouselItems[carouselActiveInt].classList.toggle("carousel-item__active");
carouselIndecarors[carouselActiveInt].classList.toggle("carousel-indicator__active");
}
var carouselNext = function(){
console.log(carouselActiveInt);
carouselItems[carouselActiveInt].classList.toggle("carousel-item__active");
carouselIndecarors[carouselActiveInt].classList.toggle("carousel-indicator__active");
if(carouselActiveInt == carouselItems.length-1){
carouselActiveInt=0;
}
else{
carouselActiveInt++;
}
carouselItems[carouselActiveInt].classList.toggle("carousel-item__active");
carouselIndecarors[carouselActiveInt].classList.toggle("carousel-indicator__active");
}
var carouselAutoPlay = function(time){
carouselInterval = setInterval(
function(){carouselNext()},time)
}
carouselAutoPlay(5000);
carousel.onmouseover = function(){clearInterval(carouselInterval)};
carousel.onmouseout = function(){carouselAutoPlay()};
1024-- 23.05.2015 13:13 # +2
> function(){carouselAutoPlay()};
)}; ()};
mcheguevara2 26.05.2015 00:28 # 0
Stertor 26.05.2015 01:07 # −1
mcheguevara2 26.05.2015 03:23 # 0
1024-- 26.05.2015 10:22 # +1
И даже если весь код состоял из вызова функции f, и можно было написать obj.onevent = f;, автор не искал лёгких путей и использовал более сложную конструкцию obj.onevent = function(){ f(); }. Аналогично и с первым аргументом setInterval.
В своём комментарии я предложил посмеяться над этими весёлыми авторскими усложнениями и представил более сложный вариант, который сводится к простому carouselAutoPlay, как и авторская конструкция.
В случае carouselIndecarorChange я так и не понял, это говнокод или нет. С одной стороны, вместо this для относительного удобства используется первый аргумент. С другой стороны - функция скорее всего используется только один раз, можно было оставить this и не усложнять.
mcheguevara2 27.05.2015 01:44 # 0
Как поправить что то может посоветуете?
3_14dar 27.05.2015 03:26 # 0
mcheguevara2 27.05.2015 04:19 # 0
kegdan 27.05.2015 07:47 # 0
Ты просишь меня посмотреть свой говноскрипт, но делаешь это без уважения и даже не называешь меня Дмитрий Иванович
bormand 27.05.2015 09:42 # 0
kegdan 27.05.2015 09:44 # 0
bormand 27.05.2015 11:37 # 0
kegdan 27.05.2015 11:43 # 0
Если опу интересно - пусть спросит. Это он у нас в гостях, а не мы у него
1024-- 27.05.2015 11:45 # 0
1024-- 27.05.2015 11:51 # 0
kegdan 27.05.2015 11:58 # 0
Например у семы от вежливых людей батхерд
1024-- 27.05.2015 12:32 # 0
Можно сказать вежливо пару раз, что это развлекательный сайт, мы никаких гарантий не даём, справок не выписываем, ничего не обещаем, сарказм во всех комментариях включён по умолчанию. А потом и посылать, если после этого человек ещё думает, что ему кто-то что-то должен.
kegdan 27.05.2015 12:38 # 0
1024-- 27.05.2015 12:41 # 0
На ГК срочно требуются вайперы, флудеры и тролли второй категории.
kegdan 27.05.2015 13:05 # +1
Не, мне разряд нельзя терять
Vasiliy 27.05.2015 13:32 # +1
1024-- 27.05.2015 15:39 # 0
kegdan 27.05.2015 17:42 # 0
1024-- 27.05.2015 17:54 # 0
Если что, пишите мне на почту, я с ними разберусь, они мне банку сгущёнки должны.
3_14dar 27.05.2015 16:05 # 0
Vasiliy 27.05.2015 17:40 # 0
3_14dar 27.05.2015 18:16 # 0
Vasiliy 27.05.2015 18:46 # 0
kegdan 27.05.2015 18:59 # 0
Vasiliy 27.05.2015 19:24 # 0
kegdan 27.05.2015 19:26 # 0
Vasiliy 27.05.2015 19:32 # 0
kegdan 27.05.2015 19:37 # 0
Vasiliy 27.05.2015 19:52 # 0
Начав говорить на одну из них обязательно набегут интересующиеся.
kegdan 27.05.2015 19:56 # +1
Футбол не смотрел с ЧМ
Бабы - в данный момент времени отношения к ним не имею
Кароче я какой то ненастоящий мальчик
Stertor 27.05.2015 19:59 # −2
http://www.evrika.ru/upload/publication/318392-178432-crime-doctor.jpg
Vasiliy 27.05.2015 20:02 # 0
так не бывает.
Футбол не смотрел с ЧМ
Я тоже его не смотрю только нервы портить.
Наших походу по кривизне ног в сборную берут.
Бабы - в данный момент времени отношения к ним не имею
Эх я тоже женат же.
Хотя тут на днях познакомился с одной. Пока как то не сложилось сказать, что я женат. Она мне так мило улыбается при встрече.
Stertor 27.05.2015 20:05 # −2
иВасилий, ах ты, сукин кот. Ты минусуешь?..
Vasiliy 27.05.2015 20:07 # 0
ЗЫ 2 kegdan я же говорил извечные темы.
kegdan 27.05.2015 20:14 # 0
знаю что ауди - 4 кольца
>> Эх я тоже женат же.
Я то не женат
И как оно? стоит того?
Stertor 27.05.2015 20:16 # 0
Семья - рассадник лжи и измен.
kegdan 27.05.2015 20:16 # 0
Stertor 27.05.2015 20:20 # 0
Что касается негетеросексуальных отношений, свадьба двух мужчин - жалкая попытка создать что-то вроде отношений, завсегда обреченная на провал, с учетом того, что геи строят отношения по схеме: понравился человек->познакомился с ним->попользовался->расстался.
kegdan 27.05.2015 20:22 # 0
история моей жизни, только вместо геев - бабы
Stallman 27.05.2015 23:43 # 0
Vasiliy 27.05.2015 23:17 # 0
вот
Stertor 27.05.2015 19:48 # −1
Мне кажется, или в этом предложении есть противоречие?
1024-- 27.05.2015 20:21 # 0
Stertor 27.05.2015 20:46 # 0
RTLMoveMemory?
3_14dar 27.05.2015 18:18 # 0
kegdan 27.05.2015 09:47 # 0
1024-- 27.05.2015 09:47 # 0
* http://govnokod.ru/3630#comment37392
* http://govnokod.ru/12243#comment163504
* http://govnokod.ru/14430#comment213844
* http://govnokod.ru/16434#comment241873
* http://govnokod.ru/18185#comment286760
* http://govnokod.ru/18203#comment286930
mcheguevara2 27.05.2015 21:52 # 0
1024-- 27.05.2015 10:25 # 0
Здорово. Люблю JS, но упустил свой шанс изучать его как первый язык.
Расскажите потом (через год-два) о том, что из этого вышло.
В строках 15-24 можно вынести carouselItems[carouselActiveInt] в отдельную локальную переменную. Аналогично - в строках 30-44
В строках 12-13 document.getElementsByClassName("carouse l-indicator") лучше тоже вынести в отдельную переменную и считать один раз перед циклом. Скорее всего движок это дело соптимизирует, но в общем случае оно должно тормозить. Впрочем, такая переменная уже даже была создана...
Строки 16-17 повторяются 4 раза, можно их вынести в отдельную функцию, тогда пара функций упростится:
Для возможность добавления нескольких событий можно использовать не onсобытие = .., а addEventListener('событие', ...).
Вероятно, полезно определять, имеется ли уже interval, и очищать его, если что. А остановку вынести в отдельную функцию:
И ещё в строке 48 табы с пробелами смешались. Нехорошо.
kegdan 27.05.2015 10:33 # +1
Для тебя это просто эксперимент, а парню всю жизнь страдать
>> Люблю JS, но упустил свой шанс изучать его как первый язык.
С паскаля начинал?
1024-- 27.05.2015 10:36 # 0
В отличие от меня, у него ещё есть возможность завязать с этим делом.
> С паскаля начинал?
Да.
kegdan 27.05.2015 10:39 # 0
Да даже меня соблазнило это отродье тьмы, а у меня он не первый и даже не пятый язык. Что уж говорить о неокрепшей детской психике?
Stallman 27.05.2015 10:59 # +2
Звучит как "мой первый язык - WCT", или "мой первый партнёр - Бен Ганн", или "мой первый тайтл - Boku no Pico"
bormand 27.05.2015 11:40 # +1
kegdan 27.05.2015 12:02 # 0
kegdan 26.05.2015 05:32 # 0