Проблема при выводе изображения.
Всем привет. У меня такая проблема. При работе кода, вместо вывода картинки на страницу, у меня появляется белый экран с этой картинкой.
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('картинка не существует')}; Помогите решить вопрос:help: . Заранее спасибо!:) |
var img = new Image(); img.src = "/users/photo/"+b+"/"+a+"_1s.jpg"; img.onload = function() { document.body.appendChild(img); } img.onerror = function() { alert('картинка не существует')}; } |
Нет, теперь картинка не показывается.
|
BuT, киньте весь код.
|
Это первый вариант кода. Но там возникает проблемка, поскольку существует только одно изображение то три остальных, отображаются как пустые квадраты. По этому я пробовал сделать функцию проверки на существование. То есть, если картинка есть, выводим, если нет, то ничего не происходит.
<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> Но тут картинка появляется на пустой странице. Ваш вариант тоже не работает, картинка не отображается... |
Цитата:
http://javascript.ru/tutorial/events/timing Цитата:
Цитата:
Цитата:
Судя по вашему сообщению, вы ну совсем не знаете javascript. Освойте основы языка и вопрос отпадет сам, полностью или частично. А с чем не справитесь - поможем. На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/ Задавайте конкретные вопросы по ходу дела. |
<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> Попробуйте так. |
Цитата:
А по поводу вывода этих картинок. Вы вдимо меня не поняли. Мне не нужны 3 картинки, мне нужна одна. Понимаете, когда на сайт загружают картинку, я этим скриптом вывожу ее на страницу. Т.е. это вывод аватарки пользователя. Но расширение аватарки может быть либо png, jpg, gif, jpeg. И мне нужно учесть эти варианты. Но в итоге, изображение может быть только одно, а три остальных не будет. Это вызывает проблему отображения, поскольку вместо изображений, будут пустые квадраты. Я решил сделать функцию проверки существования изображения. Если оно есть, то оно покажеться на странице, если нет, то ничего не будет. Но поскольку мой вариант не работал(спасибо за пояснение почему), то я решил узнать у умных людей. P.s.И да, я почти не знаю javascript, только delphi.:) |
Спасибо, обязательно попробую.:thanks:
|
Огромное спасибо Руслан! Все работает!:thanks:
|
Часовой пояс GMT +3, время: 19:46. |