Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2013, 13:32
BuT BuT вне форума
Интересующийся
Отправить личное сообщение для BuT Посмотреть профиль Найти все сообщения от BuT
 
Регистрация: 04.08.2011
Сообщений: 19

Проблема при выводе изображения.
Всем привет. У меня такая проблема. При работе кода, вместо вывода картинки на страницу, у меня появляется белый экран с этой картинкой.
var img = new Image();
img.src = "/users/photo/"+b+"/"+a+"_1s.jpg";
img.onload = function(){document.write("<img src='/users/photo/"+b+"/"+a+"_1s.jpg'>");};
img.onerror = function(){alert('картинка не существует')};


Помогите решить вопрос . Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2013, 13:44
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var img = new Image();
img.src = "/users/photo/"+b+"/"+a+"_1s.jpg";
img.onload = function() {
   document.body.appendChild(img);
}
img.onerror = function() {
   alert('картинка не существует')};
}
Ответить с цитированием
  #3 (permalink)  
Старый 03.08.2013, 14:11
BuT BuT вне форума
Интересующийся
Отправить личное сообщение для BuT Посмотреть профиль Найти все сообщения от BuT
 
Регистрация: 04.08.2011
Сообщений: 19

Нет, теперь картинка не показывается.
Ответить с цитированием
  #4 (permalink)  
Старый 03.08.2013, 14:23
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

BuT, киньте весь код.
Ответить с цитированием
  #5 (permalink)  
Старый 03.08.2013, 14:38
BuT BuT вне форума
Интересующийся
Отправить личное сообщение для BuT Посмотреть профиль Найти все сообщения от BuT
 
Регистрация: 04.08.2011
Сообщений: 19

Это первый вариант кода. Но там возникает проблемка, поскольку существует только одно изображение то три остальных, отображаются как пустые квадраты. По этому я пробовал сделать функцию проверки на существование. То есть, если картинка есть, выводим, если нет, то ничего не происходит.

<script language="javascript"/>
var a = "[legko.username]";
var b = a.charAt(0);

document.write("<img src='/users/photo/"+b+"/"+a+"_1s.jpg'>");
document.write("<img src='/users/photo/"+b+"/"+a+"_1s.png'>");
document.write("<img src='/users/photo/"+b+"/"+a+"_1s.gif'>");
document.write("<img src='/users/photo/"+b+"/"+a+"_1s.jpeg'>");

</script>


Вот тот второй вариант
<script language="javascript"/>
var a = "[legko.username]";
var b = a.charAt(0);

var img = new Image();
img.src = "/users/photo/"+b+"/"+a+"_1s.jpg";
img.onload = function(){document.write("<img src='/users/photo/"+b+"/"+a+"_1s.jpg'>");};
img.onerror = function(){alert('картинка не существует')};

var img = new Image();
img.src = "/users/photo/"+b+"/"+a+"_1s.jpg";
img.onload = function(){document.write("<img src='/users/photo/"+b+"/"+a+"_1s.png'>");};
img.onerror = function(){alert('картинка не существует')};

var img = new Image();
img.src = "/users/photo/"+b+"/"+a+"_1s.jpg";
img.onload = function(){document.write("<img src='/users/photo/"+b+"/"+a+"_1s.gif'>");};
img.onerror = function(){alert('картинка не существует')};

var img = new Image();
img.src = "/users/photo/"+b+"/"+a+"_1s.jpg";
img.onload = function(){document.write("<img src='/users/photo/"+b+"/"+a+"_1s.jpeg'>");};
img.onerror = function(){alert('картинка не существует')};

</script>


Но тут картинка появляется на пустой странице. Ваш вариант тоже не работает, картинка не отображается...
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2013, 15:00
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от BuT
img.onload = function(){document.write("<img src='/users/photo/"+b+"/"+a+"_1s.jpeg'>");};
Да сколько ж можно мусолить тему, что document.write после загрузки страницы использовать нельзя - убивает всё . где вы только такие скрипты выдираете из раза в раз?

http://javascript.ru/tutorial/events/timing

Сообщение от BuT
20 var img = new Image();
Сообщение от BuT
10 var img = new Image();
Сообщение от BuT
05 var img = new Image();
и по вашему она 3 раза не переопределяться? и чисто случайно , отменяться все правила и чудесным образом отразится 3 картинки вместо одной?

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.

Последний раз редактировалось dmitriymar, 03.08.2013 в 15:36.
Ответить с цитированием
  #7 (permalink)  
Старый 03.08.2013, 15:50
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<div id="image"></div>

<script type="text/javascript">
(function() {
   var a = '[legko.username]', b = a.charAt(0), c = ['gif', 'jpg', 'jpeg', 'png'], d = [];
   for(var i=0; i<c.length; i++) {
      d[i] = new Image();
      d[i].alt = '';
      d[i].src = '/users/photo/'+b+'/'+a+'_1s.'+c[i];
      d[i].onload = function() {
         document.getElementById('image').appendChild(this);
      }
   }
})();
</script>


Попробуйте так.

Последний раз редактировалось ruslan_mart, 03.08.2013 в 17:39.
Ответить с цитированием
  #8 (permalink)  
Старый 03.08.2013, 17:34
BuT BuT вне форума
Интересующийся
Отправить личное сообщение для BuT Посмотреть профиль Найти все сообщения от BuT
 
Регистрация: 04.08.2011
Сообщений: 19

Сообщение от dmitriymar Посмотреть сообщение
Да сколько ж можно мусолить тему, что document.write после загрузки страницы использовать нельзя - убивает всё . где вы только такие скрипты выдираете из раза в раз?
Я правда не знал

А по поводу вывода этих картинок. Вы вдимо меня не поняли. Мне не нужны 3 картинки, мне нужна одна. Понимаете, когда на сайт загружают картинку, я этим скриптом вывожу ее на страницу. Т.е. это вывод аватарки пользователя. Но расширение аватарки может быть либо png, jpg, gif, jpeg. И мне нужно учесть эти варианты. Но в итоге, изображение может быть только одно, а три остальных не будет. Это вызывает проблему отображения, поскольку вместо изображений, будут пустые квадраты. Я решил сделать функцию проверки существования изображения. Если оно есть, то оно покажеться на странице, если нет, то ничего не будет. Но поскольку мой вариант не работал(спасибо за пояснение почему), то я решил узнать у умных людей.
P.s.И да, я почти не знаю javascript, только delphi.
Ответить с цитированием
  #9 (permalink)  
Старый 03.08.2013, 17:35
BuT BuT вне форума
Интересующийся
Отправить личное сообщение для BuT Посмотреть профиль Найти все сообщения от BuT
 
Регистрация: 04.08.2011
Сообщений: 19

Спасибо, обязательно попробую.
Ответить с цитированием
  #10 (permalink)  
Старый 03.08.2013, 17:39
BuT BuT вне форума
Интересующийся
Отправить личное сообщение для BuT Посмотреть профиль Найти все сообщения от BuT
 
Регистрация: 04.08.2011
Сообщений: 19

Огромное спасибо Руслан! Все работает!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема вставки ссылок при копировании из MSWORD frizbi jQuery 10 05.07.2012 15:46
Увеличение изображения при наведении Альви Элементы интерфейса 7 09.09.2011 21:10
проблема с событиями при работе с Ext.extend slavik27 ExtJS 1 04.09.2011 13:05
Проблема при инициализации событий sms9 Events/DOM/Window 2 21.01.2010 22:14
как при добавлении изображения на сервер считывать имя в БД? solomusic Серверные языки и технологии 3 12.06.2008 23:28