veana Posted February 19, 2009 Report Share Posted February 19, 2009 скрипт для увеличения изображений, в опере и ие работает, а в мозилле нетне подскажите в чём дело? var small = new Array ("small1.jpg","small2.jpg", "small3.jpg","small4.jpg","small5.jpg", "small6.jpg","small7.jpg","small8.jpg", "small9.jpg")var big = new Array("big1.jpg", "big2.jpg", "big3.jpg","big4.jpg", "big5.jpg", "big6.jpg", "big7.jpg", "big8.jpg", "big9.jpg")var aflag = new Array(small.length)var xstr = " "for (i=0; i<small.length; i++){ xstr+='<IMG ID = "i' + i + ' " SRC = " ' +small+' " onclick="imgchange()" hspace="5" vspace="5" >'}document.write(xstr);function imgchange(){ var xid = event.srcElement.id; var n = parseInt(xid.substr(1)); if (aflag[n]) document.all[xid].src=small[n]; else document.all[xid].src=big[n]; aflag[n]=!aflag[n];}и ещё один скрипт, та же проблема........<tr id="imageA" cellpadding="0" cellspacing="0" bgcolor="white"> <script> if (screen.width<=1024){ imageA.width=1010 imageA.height=224 } else{ imageA.width=1149 imageA.height=255 } </script>...на высоту ячейки никак в мозилле не влияет данный код. Отчего? Quote Link to comment Share on other sites More sharing options...
0 ZoNT Posted February 19, 2009 Report Share Posted February 19, 2009 проблема в document.all и обращении к элементу imageAвместо document.all[xid] надо document.getElementById(xid)вместо imageA надо document.getElementById('imageA') Quote Link to comment Share on other sites More sharing options...
0 veana Posted February 19, 2009 Author Report Share Posted February 19, 2009 (edited) так?неа, не работает((function imgchange(){ var xid = event.srcElement.id var n = parseInt(xid.substr(1)) if (aflag[n]) document.getElementById(xid).src=small[n] else document.getElementById(xid).src=big[n] aflag[n]=!aflag[n]}——————————————————————————if screen.width<=1024){ document.getElementById('imageA').width=1010 document.getElementById('imageA').height=224 } else{ document.getElementById('imageA').width=1149 document.getElementById('imageA').height=255 } </script> Edited February 19, 2009 by veana Quote Link to comment Share on other sites More sharing options...
0 ZoNT Posted February 19, 2009 Report Share Posted February 19, 2009 дай ссылку на страничку. Quote Link to comment Share on other sites More sharing options...
0 SelenIT Posted February 19, 2009 Report Share Posted February 19, 2009 Еще event.srcElement в Мозиллах нет. Там свой подход к передаче событий на обработку, и используется event.target.В общем, похоже, легче будет написать скрипт заново с нуля. Этот слишком уж древний и топорный... Quote Link to comment Share on other sites More sharing options...
0 veana Posted February 19, 2009 Author Report Share Posted February 19, 2009 хэй! всезнайка! SelenIT помоги начинающему лузеру а поводу ссылки на сайт, начнут тут оценки выставлять, мне не хочется, чтоб в начале пути на меня нападали. Спасибо за попытку помочь)а так я весь скрипт скопировалаа вставляется в прогу он вот так - <td colspan="3" bgcolor="#dae0ca" id="main""> <p>Фотографии <p align="center"><script type="text/javascript" src="fotosize.js"></script></p> </td> Quote Link to comment Share on other sites More sharing options...
0 SelenIT Posted February 19, 2009 Report Share Posted February 19, 2009 начинающему лузеруНу это зря. Лузер - это у кого ни в одном браузере не работает Сорри за невнимательность - не сразу разглядел onclick="imgchange()". Тогда все, конечно, проще - меняем на onclick="imgchange(this)", а в функции ловим ссылку на кликнутый рисунок:function imgchange(img){var xid = img.idvar n = parseInt(xid.substr(1))if (aflag[n]) img.src=small[n] // зачем заново определять эл-т по id, когда у нас уже есть ссылка на него?else img.src=big[n]aflag[n]=!aflag[n]}начнут тут оценки выставлять, мне не хочется, чтоб в начале пути на меня нападалиНе надо бояться оценок. А советов и подсказок - тем более. Разве не лучше узнать о лежащих граблях заранее, не наступая на них?Так что страничку все-таки хотелось бы посмотреть... Quote Link to comment Share on other sites More sharing options...
0 veana Posted February 19, 2009 Author Report Share Posted February 19, 2009 (edited) по поводу сайта, буду благодарна за критику, но как-нибудь понежнее только - http://altay-lands.ru/а по поводу этого кода скажешь чего-нибудь? почему не работает в мозилле?<tr id="imageA" cellpadding="0" cellspacing="0" bgcolor="white"><script>if (screen.width<=1024){imageA.width=1010imageA.height=224} else{imageA.width=1149imageA.height=255}</script>и СПАСИБО! ПС. По поводу зис даже ничего и не знала. Теперь знаю примерно)) Edited February 19, 2009 by veana Quote Link to comment Share on other sites More sharing options...
0 Victor Ananiev Posted February 19, 2009 Report Share Posted February 19, 2009 красиво) только правда содержимое колонок выровнять по центру, и пункты меню сделать побольше)) а то они как будто сжимаются под тяжестью большой ШАПКИ Quote Link to comment Share on other sites More sharing options...
0 veana Posted February 19, 2009 Author Report Share Posted February 19, 2009 да вот знаешь, они больше были. А заказчик сказал, что надо меньшесогласна с тобой полностью)вообще это мой первый сайт) и многое-премногое не знаю, наверняка там в реализации много нелогичногоПС. Содержимое выравняю и..ии..приятно слышать! Quote Link to comment Share on other sites More sharing options...
0 SelenIT Posted February 19, 2009 Report Share Posted February 19, 2009 veana, по-моему, совершенно не стоило бояться . Сайт очень симпатичный, а если учесть, что это первая работа... можно не только не стесняться, но даже немножко хвастаться . Дизайн легкий и ненавязчивый, важная информация сразу доступна... а после взгляда на картинки в шапке мелкие недочеты вообще практически незаметны Но стремиться, разумеется, еще есть куда. Из сразу бросившегося в глаза:Не указана кодировка (мой англоязычный Firefox по умолчанию пытается грузить западноевропейскую);Некоторый разнобой шрифтов (особенно между страничкой "Контакты" и остальными);Почему в коде стоит <html lang="en">, когда страничка написана по-русски?<script> сразу после <table>, до <tr> - плохая практика, браузер никак не ждет скрипта в этом месте и путается при разборе разметки. Лучше бы задать таблице класс и переопределять ширину для этого класса в зависимости от размеров окна через стили. И привязываться к ширине экрана, а не окна, тоже не лучшее решение - не все юзеры смотрят сайты развернутыми на весь экран, а у многих еще раскрыты всякие боковые панели...Скрипты вообще есть куда совершенствовать. Хорошо было бы, например, если бы ту же фотогалерею можно было просматривать и без JS (пусть и в менее красивом виде). И картинки в шапке, на мой взгляд, меняются слишком резко...С таким доктайпом странички работают и отображаются в режиме обратной совместимости. Чтобы использовать CSS в полную силу, лучше использовать полный доктайп - напр., <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">. Правда, при этом может вылезти много "сюрпризов", так что переделывать так уже готовый сайт, наверное, не стоит, это скорее совет на будущее.Есть явные ошибки копипаста типа valign="right" (бывает top, center и middle). И вообще лучше вынести подобные вещи в стили.Для картинок крайне желательно указывать альтернативный текст (alt). А совсем хорошо - еще и текст подсказки при наведении (title).Но вообще, повторюсь, для первого сайта вполне достойно! Дальнейших творческих успехов! Quote Link to comment Share on other sites More sharing options...
0 veana Posted February 20, 2009 Author Report Share Posted February 20, 2009 (edited) SelenIT,классный ты! Всё разжевал, всё рассказал Спасибо! И Спасибо Я бы тоже рада чем помочь, пригодиться, поделиться. Да вот только чем я могу пригодиться?) Обещаю подумать и ты подумай А ещё я вначале хотела слайды во флэше сделать (чтоб покрасивее да может с надписями рекламными и завитушек может добавить), но потом как-то решила, что у многих пользователей нет флэш плэйеров. Это зря я решила? Или можно как нибудь прописать - что если имеется флэш плейер, то загрузить такой-то объект, а иначе сделать то-то?ПС. Поправлю вышесказанные недочёты. Edited February 20, 2009 by veana Quote Link to comment Share on other sites More sharing options...
0 xaero Posted February 20, 2009 Report Share Posted February 20, 2009 event.srcElement.id; - eto ne podderjivayevfunction someFunc(e){ e = (!e) ? event.srcElement : e.target}po moemu tak doljno bit Quote Link to comment Share on other sites More sharing options...
0 SelenIT Posted February 20, 2009 Report Share Posted February 20, 2009 veana, завитушек там точно не надо, а насчет флеша - дело хозяйское. Можно посмотреть в сторону готовых реализаций слайдшоу на JS или поэкспериментировать, например, с плавной сменой прозрачности...xaero, все верно, но в данном случае это оказалось избыточным). Quote Link to comment Share on other sites More sharing options...
0 Emm Posted February 20, 2009 Report Share Posted February 20, 2009 veanaВ разделе Фотографии, показ в увеличенном виде лучше было бы сделать через lightbox Quote Link to comment Share on other sites More sharing options...
Question
veana
скрипт для увеличения изображений, в опере и ие работает, а в мозилле нет
не подскажите в чём дело?

var small = new Array ("small1.jpg","small2.jpg", "small3.jpg","small4.jpg","small5.jpg", "small6.jpg","small7.jpg","small8.jpg", "small9.jpg")
var big = new Array("big1.jpg", "big2.jpg", "big3.jpg","big4.jpg", "big5.jpg", "big6.jpg", "big7.jpg", "big8.jpg", "big9.jpg")
var aflag = new Array(small.length)
var xstr = " "
for (i=0; i<small.length; i++){
xstr+='<IMG ID = "i' + i + ' " SRC = " ' +small+' " onclick="imgchange()" hspace="5" vspace="5" >'
}
document.write(xstr);
function imgchange(){
var xid = event.srcElement.id;
var n = parseInt(xid.substr(1));
if (aflag[n]) document.all[xid].src=small[n];
else document.all[xid].src=big[n];
aflag[n]=!aflag[n];
}
и ещё один скрипт, та же проблема
....
....
<tr id="imageA" cellpadding="0" cellspacing="0" bgcolor="white">
<script>
if (screen.width<=1024){
imageA.width=1010
imageA.height=224
} else{
imageA.width=1149
imageA.height=255
}
</script>
...
на высоту ячейки никак в мозилле не влияет данный код. Отчего?
Link to comment
Share on other sites
14 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.