Цитата:
Цитата:
У тя проблема не в этом. Во-первых, какого хрена ты напихал в код setInterval'ов? Их вообще не должно быть, это неправильный подход. Получается ты используешь что-то вроде "метода тыка". Еще ты почему-то боишься массивов. Вместо slides у тебя отдельно slide0, slide1 и т.д. Почему ты меню выдвигаешь каждый пункт отдельно - неясно. Не проще ли задать -100% родителю? Цитата:
Изучай "классы". Вместо того чтобы раскидывать по всей страницы кучу переменных и функций для работы с ними, объединяй их по смыслу в группы - в объекты. Несколько свойств + методы для работы с ними. Допустим меню:
class Menu() {
constructor(selector) {
this.items = document.querySelector(selector).children;
this.active = -1;
this.setActive(0);
this.setupListeners();
}
setActive(index) {
this.active = index;
this.items[index].classList.add('active');
}
setupListeners() {
for (var i = 0; i < this.items; i++)
this.items[i].onclick = this.setActive.bind(this, i); // ES5, не работает в старье
}
}
var menu = new Menu('.menu');
menu.setActive(1);
Анимацию проще сделать на css3. В старье будет без анимации. Ну и че? Почти всегда старый браузер == старый комп == тормоза при анимации. Так что все справедливо. Вот короче тебе заготовка: http://jsfiddle.net/danya_postfactum/z8cLa59g/ Только событие wheel не кроссбразерное. Нужны костыли для событий DOMMouseScroll (FF старый), mousewheel (chrome старый, ie8). Работает во всех нормальных браузерах, в IE10+. Только меню я побыстрому отцентрировал через css3. Подключи classList.js с просторов инета и заработает в IE9. Подключи addEventListener.js и почти что заработает в IE8, правда без анимации. |
да, не думал я когда за js садился что будет все так сложно, может это все ж не мое, хз, уже 4 месяца учу, а толку 0.
уж подумал тут на меня забили :) спасибо за инфу, буду разбираться... |
Цитата:
На старые браузеры не обращай внимания, их пора забывать уже. Изучи "классы" (конструкторы, прототипы) и события и будет проще. |
Насчет интервалом. Там они должны быть, верней setTimeout, а еще верней - requestAnimationFrame. Нужны для анимации, покадровой. У меня в коде ее нет, я использовал css3 анимацию.
|
Цитата:
При чем тут яндекс-браузер? Такого браузера нет. Загляните в статистику сайта и увидите какие есть, а каких нет. |
Цитата:
прокрутку я увидел здесь. отсюда же, собственно говоря, и динамические слайды. я хз как у них там все написано, я и сам вижу что с интервалами косячно вышло, но, имхо, для маленького сайтика с маленьким кол-вом посетителей для начала было бы норм, если бы не... Цитата:
ладно, пофиг, будем лучше сразу делать как дядьки говорят |
| Часовой пояс GMT +3, время: 15:17. |