Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.11.2019, 00:02
Кандидат Javascript-наук
Отправить личное сообщение для drkrol Посмотреть профиль Найти все сообщения от drkrol
 
Регистрация: 09.10.2013
Сообщений: 114

Как подставить имя класса под массив?
Здравствуйте. Возможно вопрос в заголовке указан не верно, но я чётко сформулировать вопрос не могу... У меня просто не работает так, как я бы хотел(...

Ситуация такая. Есть массив с информацией о положениях X:Y. Выглядит это вот так:
var firstbox = ["-16","13"]
var secondbox = ["-10","11"]
...

В html у объектов у меня по 2 класса:
<div class="box firstbox">...</div>
<div class="box secondbox">...</div>

Есть анимация этих блоков:
$('.box').mousemove(function(event){
  gsap.to($(this), 1, {
    x:mineclass[0],
    y:mineclass[1],
  });
});

Я думал, что если в функции анимации прописать, что
var mineclass = this.classList[1];
console.log(mineclass) // вернёт имя класса.

то тогда можно будет обратиться к имени класса, как к массиву:
mineclass[0] // по логике тоже самое secondbox[0]

и у меня будет всё работать, но, как вы уже поняли, не работает у меня них*ена

Что в моём случае можно сделать? Как сделать, чтобы я мог зная класс подцепиться к массиву?

Последний раз редактировалось drkrol, 14.11.2019 в 00:06.
Ответить с цитированием
  #2 (permalink)  
Старый 14.11.2019, 00:27
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от drkrol
mineclass[0] // по логике тоже самое secondbox[0]
По какой логике? На самом деле... "secondbox"[0]

Вам нужно переделать так...

var boxes = {
	firstbox: ["-16","13"],
	secondbox: ["-10","11"]
};


то можно так...
var mineclass = this.classList[1];
console.log(mineclass) // вернёт имя класса.

var box = boxes[mineclass]; // выберет нужный массив из boxes
// тут можно устроить проверку, ведь может и не быть класса,
// который вы только добавили в HTML, но в скрипте ещё не добавили массив
var x = box[0];
var y = box[1];

Последний раз редактировалось Malleys, 14.11.2019 в 00:36.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать в массив перемеенную как ключ массива? фдуч Общие вопросы Javascript 15 11.01.2018 21:21
Как из двух классо сформировать имя класса следующего блока imedia Элементы интерфейса 1 11.11.2017 19:41
Как записать массив в базу mysqli. wadim Серверные языки и технологии 29 22.01.2017 09:29
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 17:17
Как я могу вернуть имя класса Tini2n jQuery 8 28.05.2012 00:51