|
Скрипт уменьшения аватар
|
|
| Garret | Отредактировал Garret - Воскресенье, 09 Марта 2008, 19:31 Дата: 09 Марта 2008, 19:31 | Сообщение # 1 | ● ● ● ● ● 4 сообщения Статус: Offline | Заранее извиняюсь за создание темы возможно не в том разделе. Был создан скрипт для уменьшения аватар некторым пользователям, т..к настройки по размеру аватар по-моему ставятся только глобально. Выглядит сиё чудо вот так: Code <script type="text/javascript"> function pict$ID$(myPicture){ newImg = new Image(); newImg.src = myPicture; myWidht = newImg.width; myHeight = newImg.height; if (myHeight>160){ myHeight=160 } if (myWidht>160){ myWidht=160 } document.write('<img title="$USERNAME$" class="userAvatar" border="0" src="$AVATAR_URL$" width='+myWidht+' height='+myHeight+'>'); } </script>
<?if($UID$="141" or $UID$="9")?><?if($AVATAR_URL$)?><img title="$USERNAME$" class="userAvatar" border="0" src="$AVATAR_URL$"><?endif?><?else?> <script>pict$ID$('$AVATAR_URL$')</script> <?endif?> Кривовато конечно, но работает. Проблема: при первом просмотре страницы аватары не отображаются (кроме конечно тех, чьи id 141 и 9). После обновления страницы аватары появляются. Ну или если аватары были не пред страницах, то они тоже есть. Заранее спасибо. | | |
|
| Тайлен | Дата: 10 Марта 2008, 12:07 | Сообщение # 2 |  ● ● ● ● ● человек-креатив 765 сообщений Статус: Offline | width='+myWidht+' height='+myHeight+'>'); вот в этом участке не мешало бы ставить кавычки для атрибутов ширины и высоты. это я просто к слову. | | |
|
| Garret | Дата: 10 Марта 2008, 14:56 | Сообщение # 3 | ● ● ● ● ● 4 сообщения Статус: Offline | современные браузеры спокойно обходятся без них, не в этом проблема | | |
|
| Тайлен | Дата: 10 Марта 2008, 16:23 | Сообщение # 4 |  ● ● ● ● ● человек-креатив 765 сообщений Статус: Offline | Garret, идём учить, что такое стандарты ШТМЛ и зачем их придумали. я не говорил что в этом проблема. я сказал:Quote (SnowBall) это я просто к слову. | | |
|
| Бармалей | Отредактировал barmaley - Вторник, 11 Марта 2008, 06:32 Дата: 11 Марта 2008, 06:28 | Сообщение # 5 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | И зачем функции выводить аватар? он может вообще в хеаде находится Основа - Скрипт Thantifaxath тут Quote (Thantifaxath) <script type="text/javascript" language=""> Imag = new Image; Imag.src = "$AVATAR_URL$"; if (Imag.width > 100) //граничная ширина { document.write('<img src="$AVATAR_URL$" width="100px" border="0"></a>'); } else { document.write('<img src="$AVATAR_URL$" border="0">'); } </script>
 | | |
|
| Andre | Дата: 11 Марта 2008, 11:39 | Сообщение # 6 |  ● ● ● ● ● 1822 сообщения Статус: Offline | ИЕ не умеет читать атрибуты картинки, так что весь ваш скрипт коту под хвост. | | |
|
| Тайлен | Дата: 11 Марта 2008, 15:10 | Сообщение # 7 |  ● ● ● ● ● человек-креатив 765 сообщений Статус: Offline | Блин, я наверное чего-то не понимаю. Зачем узнавать размер картинки и подгонять его под нужный если картинка больше. почему не сделать просто: <img src="$AVATAR_URL$" width="100px" height="100px" border="0"> И зачем вообще чтото делать если можно просто поставеть огранечитель на размер аватары??? | | |
|
| Andre | Дата: 11 Марта 2008, 15:19 | Сообщение # 8 |  ● ● ● ● ● 1822 сообщения Статус: Offline | Quote (SnowBall) width="100px" height="100px" надо что-то одно писать. | | |
|
| Бармалей | Дата: 11 Марта 2008, 15:34 | Сообщение # 9 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | SnowBall, а если ава 50х50 то она растянется и будет выглядеть непрезентабельно
 | | |
|
| Garret | Дата: 11 Марта 2008, 16:10 | Сообщение # 10 | ● ● ● ● ● 4 сообщения Статус: Offline | Andre, в ие и в мозилле всё работает как я описал СКРИПТ РАБОЧИЙ, есть лишь небольшая проблема | | |
|
| Бармалей | Дата: 11 Марта 2008, 16:25 | Сообщение # 11 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Garret, дело в том что скрипт выполняется ДО загрузки картинок. тоесть браузер еще не загрузил картинку а скрипт уже спрашивает размеры. поетому условие не выполняется и ничего не пишется попробуй так <script type="text/javascript"> function resize(url,id){ newImg = new Image(); newImg.src = url; if (newImg.height>160){ document.getElementById(id).height=160 } if (newImg.widht>160){ document.getElementById(id).width=160 } } </script> <?if($AVATAR_URL$)?><img src="$AVATAR_URL$" border="0" class="userAvatar" OnLoad="resize(this.src,this.id)" id="avatar$ID$" title="$USERNAME$" /><?endif?>
 | | |
|
| Garret | Дата: 11 Марта 2008, 17:08 | Сообщение # 12 | ● ● ● ● ● 4 сообщения Статус: Offline | Спасибо большое, всё путём | | |
|