Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать так чтобы показывалось загрузка картинки (https://javascript.ru/forum/misc/35670-kak-sdelat-tak-chtoby-pokazyvalos-zagruzka-kartinki.html)

sarik 18.02.2013 08:44

Как сделать так чтобы показывалось загрузка картинки
 
Я использую switch case для того чтобы картинка товара менялось при выборе цвета товара. Но есть одна проблема. Надо сделать так чтобы когда клиент выбираеть цвет товара и до изменение картинки товара показывалось загрузка то есть gif картинка показывающий загрузки чтобы клиент думал что картинка товара загружаеться
вот switch case которое я использую.
function img_size(val){
 var img = document.getElementById("kartinka");
 switch(val){
  case "0":
   img.src = "img/2.png";
   break;
  case "00":
   img.src = "img/3.png";
   break;
  case "135":
   img.src = "img/4.png";
   break;
  case "235":
   img.src = "img/5.png";
   break;
 case "450":
   img.src = "img/6.png";
   break;
 }
}

ksa 18.02.2013 08:55

Цитата:

Сообщение от sarik
Надо сделать так чтобы когда клиент выбираеть цвет товара и до изменение картинки товара показывалось загрузка то есть gif картинка показывающий загрузки чтобы клиент думал что картинка товара загружаеться

Алгоритм примерно такой...

<показать_картинку_"прогресс">
setTimeout(function (){
   img_size(<нужное_значение>);
},0);
;
function img_size(val) {
   ...
   <убрать_картинку_"прогресс">
};

sarik 18.02.2013 09:01

Если можно то по проше
 
Где вставить данный скрипт? я как бы чайник в этом :). По подробнее если можно. Заранее спасибо:).

ksa 18.02.2013 09:20

Цитата:

Сообщение от sarik
Где вставить данный скрипт?

Так х/з где у тебя "хранятся" скрипты... Они могут быть в отдельном файле и подключаться... А могут быть прямо на странице...

Цитата:

Сообщение от sarik
По подробнее если можно

Подробности могут быть только у частностей... У тебя же даже тестового примера нет. На чем показывать подробности?

ksa 18.02.2013 09:21

Цитата:

Сообщение от sarik
По подробнее если можно

Вот читай...
http://javascript.ru/search/node/анимация

sarik 18.02.2013 09:26

вот сылка на страничку
 
Вот сылка на страничку:
http://www.starlexx.com/Touareg/
Там выбирайте V6 и выйдеть страничка из php потом выбирайте цвет автомобиля и там уже меняеться цвет авто

ksa 18.02.2013 09:27

Цитата:

Сообщение от sarik
Вот сылка на страничку:
http://www.starlexx.com/Touareg/
Там выбирайте V6 ...

Мне-то зачем та страничка? :D
Переводи 1000р на телефон - пойду "смотреть страничку"...

sarik 18.02.2013 09:31

1000?????????????????????????????
 
:blink: :blink: :blink: :blink: :blink: :blink: 1000??????? от куда у программиста чайника 1000??????????:no: :lol: :lol: Помогите по человечески и когда будеть у меня 1000 то обязательно сброшу

ksa 18.02.2013 09:32

Цитата:

Сообщение от sarik
Помогите по человечески

Тогда начинай делать тестовый пример... На нём и покажут.
Т.е. если нет денег - начинай прилагать усилия. ;)

ksa 18.02.2013 09:35

Цитата:

Сообщение от sarik
http://www.starlexx.com/Touareg/
Там выбирайте V6

Ты так цвета и не сделал нормально... Красный - не красный... Да и другие цвета х/з какие...

sarik 18.02.2013 09:38

Вот пример............
 
<script>
function img_size(val){
 var img = document.getElementById("kartinka");
 switch(val){
  case "0":
   img.src = "img/2.png";
   break;
  case "00":
   img.src = "img/3.png";
   break;
  case "135":
   img.src = "img/4.png";
   break;
  case "235":
   img.src = "img/5.png";
   break;
 case "450":
   img.src = "img/6.png";
   break;
 }
}

</script>

<input type="radio" name="simple" value="0"   onclick="img_size(this.value)" />Крассный `Flash`
<input type="radio" name="simple" value="00"  onclick="img_size(this.value)" />Синий `Sea Blue`



цвета я так сделал ради проби.. надо всего лишь сделать все как по формуле а потом во время доделки дизайна точно будуть работать цвета и дизайн хорошая будеть

рони 18.02.2013 09:38

sarik,
если картинок мало можно сделать предварительную загрузку, тогда смены картинок ненужно будет ждать.
2 способ ставить картинку загрузки основную прятать а на onload основной убирать картинку загрузки и показывать основную.
ищите по форуму - это было

sarik 18.02.2013 09:45

картинок мало.....
 
картинок точно мало но как сделать как вы говорите???? по подробнее и с js если можно обясьните .заранее спасибо:)

рони 18.02.2013 10:38

:write: sarik,
примерно так 2 вариант ...
<!DOCTYPE HTML>

<html>

<head>
<meta charset="utf-8" />
  <title></title>
</head>

<body>
<script>
var img_r = new Image();
img_r.src = "http://javascript.ru/forum/images/smilies/write.gif";
function img_size(val){
 var kartinka = document.getElementById("kartinka");
 kartinka.src = img_r.src;
 var img = new Image();
 img.onload = function() {
 kartinka.src = this.src
    };

 switch(val){
  case "0":
   img.src = "http://www.starlexx.com/Touareg/img/2.png";
   break;
  case "00":
   img.src = "http://www.starlexx.com/Touareg/img/3.png";
   break;
  case "135":
   img.src = "http://www.starlexx.com/Touareg/img/4.png";
   break;
  case "235":
   img.src = "http://www.starlexx.com/Touareg/img/5.png";
   break;
 case "450":
   img.src = "http://www.starlexx.com/Touareg/img/6.png";
   break;
 }
}

</script>
<img src="http://www.starlexx.com/Touareg/img/1.png" border="0" alt=""  id="kartinka"/>
<input type="radio" name="simple" value="0"   onclick="img_size(this.value)" />Крассный `Flash`
<input type="radio" name="simple" value="00"  onclick="img_size(this.value)" />Синий `Sea Blue`
<input type="radio" name="simple" value="135"   onclick="img_size(this.value)" />Крассный `Flash`
<input type="radio" name="simple" value="235"  onclick="img_size(this.value)" />Синий `Sea Blue`
<input type="radio" name="simple" value="450"   onclick="img_size(this.value)" />Крассный `Flash`
</body>

</html>

начало скрипта надеюсь вам даст понятие как организовать предварительную загрузку.

ksa 18.02.2013 10:47

Цитата:

Сообщение от sarik
картинок точно мало но как сделать как вы говорите?

Как вариант...

var img_path = new Array("1.jpg", "2.jpg"); 
var img = new Array(); 
var count = img_path.length; 
for(var i=0; i<count; i++){ 
   img[i] = new Image(); 
   img[i].src = img_path[i]; 
}

sarik 18.02.2013 11:27

Получилось!!!!!Ураааааа:) СПасибо всем кто помог:thanks:


Часовой пояс GMT +3, время: 03:24.