[help]Js возможноли работа без масива

Тема в разделе "Другие языки", создана пользователем h0ttab[sun], 29 ноя 2007.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. h0ttab[sun]

    h0ttab[sun]

    Регистр.:
    30 авг 2007
    Сообщения:
    319
    Симпатии:
    43
    HTML:
    var Lists = new Array;
    Lists[0] = "wl0";
    Lists[1] = "wl1";
    Lists[2] = "wl2";
    Lists[3] = "wl3";
    Lists[4] = "wl4";
    Lists[5] = "wl5";
    Lists[6] = "wl6";
    Lists[7] = "wl7";
    Lists[8] = "wl8";
    Lists[9] = "wl9";
    Lists[10] = "senmsg";
    function ListOnClick(ListID)
    {
    var d = document.getElementById(ListID);
    d.className = (d.className == "open")?"close":"open";
    for(i = 0; i < Lists.length; i++){
    d1 = document.getElementById(Lists[i]);
    if(d1.id != d.id) d1.className = "close";
    }
    }
    
    Что делает этот скрипт:по умолчанию я спрятал Элементы через display:none; но при клике на ссылку "javascript:ListOnClick('wl1')"
    он задает чтоб элемент с id wl1 задать клас опен и открыть :).
    Вопрос:Помогите убрать задавание массива :)..
    Возможное решение через var$i и к итогу снимим тягомотину с добавлением в него данных :(.
     
  2. Andrej1980

    Andrej1980 Писатель

    Регистр.:
    19 апр 2007
    Сообщения:
    2
    Симпатии:
    1
    :) Можно все писать в строку типа:
    var sSomeStr = "wl1, wl2, wl3";
    А потом aSomeArr = sSomeStr.split(',');

    А если честно, не совсем понятно, зачем тебе это.
    Можно поподробней?
     
  3. Dogmat

    Dogmat Постоялец

    Регистр.:
    16 фев 2007
    Сообщения:
    122
    Симпатии:
    38
    для каждого объекта в html указываешь доп. параметр.
    Ex. flag="1"
    объекты над которыми ты проводишь действия лежат в каком то контейнере.
    для этого контейнера вызываешь функцию getElementsByTagName - т.е. выбираешь нужные теги. фильтруешь по наличию доп. атрибута = вот у тебя и получается массив , который не нужно жестко закреплять в js. а дальше делаешь все как обычно ...
     
  4. ConstNW

    ConstNW Постоялец

    Регистр.:
    30 июн 2007
    Сообщения:
    132
    Симпатии:
    39
    может проще использовать jquery?
     
  5. n42

    n42

    Регистр.:
    8 фев 2008
    Сообщения:
    206
    Симпатии:
    25
    Используй new Object вместо new Array.

    или

    Lists = {0 : "wl0", 1 : "wl1", 2 : "wl2",} // этот формат называеться JSON

    Тогда сможешь добавлять сколько хочешь елементов.
    Если ты добавляешь елементы редко то можно просто создовать новый больший масив и заменять им старый.
     
Статус темы:
Закрыта.