Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Скрипт подгружает фото без перезагрузки страници


Автор: WebUser 29.9.2007, 20:56
имеется скрипт

Код

<script>
var cur_num=1;
img_arr=Array();
img_arr[1]=1;
img_arr[2]=2;
img_arr[3]=3;

function ch(n){
str='img'+n
document.getElementById(str).style.border='5px solid #C3ECC0';
str='img'+cur_num
document.getElementById(str).style.border='none';
document.getElementById('main_img').src="http://site.ru/"+img_arr[n]+"";
cur_num=img_arr[n];
}

function big_show(){
str="http://site.ru/"+cur_num+"";
window.open(str, '', 'width=500,height=500,location=0,resizable=1,toolbar=0,menubar=0,Scrollbars=0,status=0');
}
</script>



Код

<a href='JavaScript: big_show()'><img src='main_img.jpg' border='0' id='main_img'></a>

<a href='JavaScript: ch(1)'><img src='1.jpg' border='5' id='img1'></a>
<a href='JavaScript: ch(2)'><img src='2.jpg' border='0' id='img2'></a>
<a href='JavaScript: ch(3)'><img src='3.jpg' border='0' id='img3'></a>




суть которого должна заключатся таким образом, с права допустим отображается среднее фото(по умолчанию первое), а рядом маленькие сколько угодно, так вот при клике по этим маленьким фото, подгружается рядом но уже средний размер в место того что по умолчанию было, и при клике на среднее изображение открывается новое окно уже с большим размером. Всего, каждое фото имеет три размера.

пример кода я взял с сайта stolbik.ru, всё работает как надо, но тогда кода указаны цифры, если указываю буквы то неработает

в этом случии нормально
img_arr[1]=1;
img_arr[2]=2;
img_arr[3]=3;

а так неработает
img_arr[1]='1.jpg';
img_arr[2]='2.jpg';
img_arr[3]='3.jpg';

как сделать чтобы работало?

сама реализация вывода картинок меня полностью устраивает, но проблема в одном, мне нужно в место цифр указывать имена картинок, но при их указании, скрипт почемуто не работает, выдаёт ошибку.



Автор: igorold 1.10.2007, 11:45
потому что у тебя сохраняется номер последней выбранной картинки:
cur_num=img_arr[n];

а предыдущая скрывается:
str='img'+cur_num
document.getElementById(str).style.border='none';

если ты укажешь вместо номера имя файла, у тебя получается каша ... 
Разве по ошибкам ты этого не видишь?

Автор: cruelangel 1.10.2007, 18:42
а теперь представь ситуацию: пользователь увидел интересную фотку и захотел послать ссылку другу - что увидит его друг, когда получит ссылку? ту фотку, которую ему хотели показать или же первую в списке?

Автор: fidres 2.10.2007, 10:45
о, блин...
глюкануло что-то... два раза отправилось... =(
я непричём! чесслова!
а кстати, почему низя грохнуть свой пост?
чё за вулюнтаризм?!
 smile 

 smile 
чё за нафик???
было два одинаковых поста - решил один грохнуть.
грохнуть не дал - переписал.
запостил снова - один пост этот корявый и отсветил!

ну, блин... первый раз с таким глюком здесь сталкиваюсь. :(

я грю, фигли делать нагромождения кода, когда проще можно намного поступить!?
надо тебе её чуть увеличить - меняешь через скрипт размеры width-heigth и всё!
а надо полностью в отдельном окне открыть - onClick='JavaScript:window.ope(....' и всё.

и массив твой гораздо приятней будет смотреться, если его по-нормальному объявить, а не такой колбасой, которая у тебя там болтается...
Код
var _name_ = new Array(item1,item2,item3...itemX);


Добавлено через 14 минут и 14 секунд
ой. забыл уточнить, что превьюшку меняешь размером, а нормальную картину - выводишь в окне полностью.
о!
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)