Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.11.2013, 20:04
Новичок на форуме
Отправить личное сообщение для masterfrag Посмотреть профиль Найти все сообщения от masterfrag
 
Регистрация: 30.11.2013
Сообщений: 4

Разделение массива
Случай не самый сложный как я понимаю, но своими мозгами дойти не могу.
Существует форма на сайте. В ней при селекте изменяются изображения на сайте.
Под один селект настроил без проблем, со вторым начались проблемы
Вот код:
pictures = new Array()
for(i=0;i<5;i++)
   {
    pictures[i] = new Image()
    if(i==0) pictures[i].src = "./images/shapka01.png"
    if(i==1) pictures[i].src = "./images/shapka02.png"
    if(i==2) pictures[i].src = "./images/shapka03.png"
    if(i==3) pictures[i].src = "./images/shapka04.png"
    if(i==4) pictures[i].src = "./images/shapka05.png"
   }
function l_image()
   {
    document.shapka.src = pictures[document.form1.item.selectedIndex].src
   }
   pictures = new Array()
for(j=0;j<5;j++)
   {
    pictures[j] = new Image()
    if(j==0) pictures[j].src = "./images/sharf01.png"
    if(j==1) pictures[j].src = "./images/sharf02.png"
    if(j==2) pictures[j].src = "./images/sharf03.png"
    if(j==3) pictures[j].src = "./images/sharf04.png"
    if(j==4) pictures[j].src = "./images/sharf05.png"
   }
function r_image()
   {
    document.sharf.src = pictures[document.form1.item.selectedIndex].src
   }


А это сама форма селектора:
<img src="images/formpole-1.png" class="left" /><select name=item onChange=l_image()>
        <option selected="selected">Шапка 1
        <option>Шапка 2
        <option>Шапка 3
        <option>Шапка 4
        <option>Шапка 5
      </select><img src="images/formpole-2.png" class="left" /><br />
<img src="images/formpole-1.png" class="left" /><select name=item onChange=r_image()>
        <option selected="selected">Коричн. "Bersar"
        <option>Синий шарф
        <option>Черный "Звездочка"
        <option>Черный "Bersar"
        <option>Коричн. "Звездочка"
      </select><img src="images/formpole-2.png" class="left" />
Ответить с цитированием
  #2 (permalink)  
Старый 30.11.2013, 20:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

masterfrag,
2 селекта 2 массива !!! а не 1 на 2
Ответить с цитированием
  #3 (permalink)  
Старый 30.11.2013, 20:36
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

for(i=0;i<5;i++)
   {
    pictures[i] = new Image()
    if(i==0) pictures[i].src = "./images/shapka01.png"
    if(i==1) pictures[i].src = "./images/shapka02.png"
    if(i==2) pictures[i].src = "./images/shapka03.png"
    if(i==3) pictures[i].src = "./images/shapka04.png"
    if(i==4) pictures[i].src = "./images/shapka05.png"
   }

Мда.. И как ты до такого докатился? Думаю этому кода дорога сюда: http://govnokod.ru/
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 30.11.2013, 21:02
Новичок на форуме
Отправить личное сообщение для masterfrag Посмотреть профиль Найти все сообщения от masterfrag
 
Регистрация: 30.11.2013
Сообщений: 4

Подробнее можно?
Как мне сделать так, что бы код работал?

Сообщение от danik.js Посмотреть сообщение
for(i=0;i<5;i++)
   {
    pictures[i] = new Image()
    if(i==0) pictures[i].src = "./images/shapka01.png"
    if(i==1) pictures[i].src = "./images/shapka02.png"
    if(i==2) pictures[i].src = "./images/shapka03.png"
    if(i==3) pictures[i].src = "./images/shapka04.png"
    if(i==4) pictures[i].src = "./images/shapka05.png"
   }

Мда.. И как ты до такого докатился? Думаю этому кода дорога сюда: http://govnokod.ru/
Язычок свой остренький придержи за зубами. Если ты ничем помочь путным не можешь тогда не нужно гадости писать людям которые спрашивают помощи
Ответить с цитированием
  #5 (permalink)  
Старый 30.11.2013, 21:23
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Обиделась лялечка.. ути пути..ну не плачь, все будет хорошо.
Приношу свои глубочайшие извинения если Вас так задело мое высказывание по поводу «качества» Вашего кода и указание его места.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 30.11.2013, 21:30
Новичок на форуме
Отправить личное сообщение для masterfrag Посмотреть профиль Найти все сообщения от masterfrag
 
Регистрация: 30.11.2013
Сообщений: 4

Сообщение от danik.js Посмотреть сообщение
Обиделась лялечка.. ути пути..ну не плачь, все будет хорошо.
Приношу свои глубочайшие извинения если Вас так задело мое высказывание по поводу «качества» Вашего кода и указание его места.
Все замечания по качеству можете выразить сюда: http://citforum.ru/internet/javascript/exgraph.shtml

Я лишь пытался исправить так, как нужно мне и сейчас незнаю что мне делать дальше. Потому и спрашиваю
Ответить с цитированием
  #7 (permalink)  
Старый 30.11.2013, 21:32
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Если у тя не хватает ума как спросить чтобы объяснили что не так с кодом, так и быть, прощаю.
var pictures = [
    "./images/shapka01.png",
    "./images/shapka02.png",
    "./images/shapka03.png",
    "./images/shapka04.png",
    "./images/shapka05.png"
];

for (var i = 0; i < pictures.length; i++) {
    var image = new Image();
    image.src = pictures[i];
}


Но я бы хранил пути к картинкам в data-* атрибуте.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 30.11.2013, 21:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Если сходу, то я бы сделал примерно так (при желании можно легко добавить третий селект, четвертый, ..., сотый):
<!DOCTYPE html>
<img id="hat-image" />
<select id="hat-select">
    <option selected="selected" value="http://javascript.ru/forum/images/smilies/smile.gif">Шапка 1</option>
    <option value="http://javascript.ru/forum/images/smilies/mad.gif">Шапка 2</option>
    <option value="http://javascript.ru/forum/images/smilies/laugh.gif">Шапка 3</option>
</select>
<img id="scarf-image" />
<select id="scarf-select">
    <option selected="selected" value="http://javascript.ru/forum/images/smilies/yes4.gif">Синий шарф</option>
    <option value="http://javascript.ru/forum/images/smilies/agree.gif">Черный "Звездочка"</option>
</select>
<script>
    (function(){
        var selects = ['hat', 'scarf'];
        for (var i = 0; i < selects.length; i++) {
            var select = document.getElementById(selects[i] + '-select');
            var image = document.getElementById(selects[i] + '-image');
            bind(select, image);
            preload(select);
        }
        function bind(select, image) {
            select.onchange = function() {
                image.src = this.value;
            };
            select.onchange();
        }
        function preload(options) {
            for (var i = 0; i < options.length; i++) {
                new Image().src = options.value;
            }
        }
    })()
</script>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 02.12.2013, 01:48
Новичок на форуме
Отправить личное сообщение для masterfrag Посмотреть профиль Найти все сообщения от masterfrag
 
Регистрация: 30.11.2013
Сообщений: 4

danik.js,
Спасибо. Очень помог
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена элементов массива элементами массива prostoix Javascript под браузер 4 24.10.2013 17:36
Выбор из массива трех элементов sonntagausgang Общие вопросы Javascript 2 26.05.2013 02:59
Сортировка массива по ключу RazZzeR Элементы интерфейса 9 21.07.2012 19:31
Можно ли как для произвольного массива создавать вызовы функций , имеющих на входе kefi Общие вопросы Javascript 3 17.04.2009 16:53
вставка элементов массива в текстовую форму по клику olezyk Общие вопросы Javascript 3 21.03.2009 22:01