Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.09.2011, 17:30
Интересующийся
Отправить личное сообщение для DonLino Посмотреть профиль Найти все сообщения от DonLino
 
Регистрация: 13.07.2010
Сообщений: 15

ООП. Элементы массива в качестве экземпляра класса
Есть класс:
var class = function(i) {
     this.index = i;
     this.res = "Мой номер " + i;
     this.act = function(){
          alert(this.act);
     }
}

Нужно каждому элемента массива определить класс:
objects = $(".text");
    objects.each(function (index) {
        this = new objClass(index);
        this.move();
    }

Как правильно это сделать? (запись выше не верна)
Ответить с цитированием
  #2 (permalink)  
Старый 16.09.2011, 17:38
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

Какому массиву? обычны в jQuery для этих целей используют data
objects = $(".text");
    objects.each(function (index) {
        this.data("someClass",  new objClass(index)).data("someClass").move();
    }
Ответить с цитированием
  #3 (permalink)  
Старый 16.09.2011, 17:40
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

вопрос неясен.... что такое "каждому элементу массива определить класс?"
Ответить с цитированием
  #4 (permalink)  
Старый 16.09.2011, 17:53
Интересующийся
Отправить личное сообщение для DonLino Посмотреть профиль Найти все сообщения от DonLino
 
Регистрация: 13.07.2010
Сообщений: 15

Сообщение от nikita.mmf Посмотреть сообщение
Какому массиву? обычны в jQuery для этих целей используют data
objects = $(".text");
    objects.each(function (index) {
        this.data("someClass",  new objClass(index)).data("someClass").move();
    }
спасибо, вроде то что нужно..
Ответить с цитированием
  #5 (permalink)  
Старый 19.09.2011, 22:37
Интересующийся
Отправить личное сообщение для DonLino Посмотреть профиль Найти все сообщения от DonLino
 
Регистрация: 13.07.2010
Сообщений: 15

Вобщем не совсем все получается как хотелось бы..
Есть 4 елемента:
<div id="elemToMove">
        <div class="toMove"></div>
        <div class="toMove"></div>
        <div class="toMove"></div>
        <div class="toMove"></div>
</div>

Нужно для каждого хранить по 2 свойства, допустим х и у, что бы потом использовать в анимации. Делаю так (упрощенный код):
var objClass = function (x, y) {
     px = x;
     py = y;
};
function moveObj (obj) {
          $(obj).animate({left: obj.px, top: obj.py}, 1000);
     };

objects = $(".toMove");
objects.each(function () {
        this = new objClass(x, y);
        alert(this.px +" "+ this.py);
        moveObj(this);
};

Вобщем где-то так, но не работает...
Пробую по-другому:
objects.each(function (index) {
        obj = objects[index];
        obj = new objClass(x, y);
        alert(obj.px +" "+ obj.py);
        moveObj(obj);
};

Свойства px и py есть, но с анимацией проблема, не находит метод animate у объекта obj.
Пробую иначе:
objects.each(function (index) {
        obj = objects[index];
        obj.prototype = objClass(x, y);
        alert(obj.px +" "+ obj.py);
        moveObj(obj);
};

Здесь с анимацией все хорошо, только отсутствуют свойства px и py.
Подскажите, как правильно сделать?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать все элементы массива уникальными exec Общие вопросы Javascript 43 25.12.2015 01:14
Свойства/методы класса TicTac Общие вопросы Javascript 5 03.07.2011 14:53
Выбрать уникальные элементы массива? PAMAC Общие вопросы Javascript 2 20.02.2011 22:59
Пустые элементы массива lammeR Общие вопросы Javascript 5 25.05.2010 02:59
Как удалить повторные элементы из массива? YISHIMITSY Общие вопросы Javascript 1 04.05.2010 00:04