Javascript.RU

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

Изменение размеров картинки через скрипт
Помогите пожалуйста, у меня на сайте в комментариях можно вставлять картинки тэгами со ссылкой на сервисы типа radikal.ru, а проблема в том что любой может запостить как безобидный аватор, так и огромную 5мегапиксельную фотку, с последствиями для дизайна и чтоб этого не было, я написал такой несложный ява-скрипт:

Код:
<img border="0" id="i1217675751" onload=" var s=getElementById('i1217675751'); var w=s.width; var h=s.height; var wr=screen.width-590; var hr=screen.height-590; if(wr<435){wr=435;} if(w>=h){ if(w>wr){ this.width=wr;this.height=h/(w/wr); } } if(w<h){ if(h>hr){ this.height=hr;this.width=w/(h/hr);} }" src="1.jpg">

Так вот в ИЕ 6.0, firefoxе проблем никаких, а вот в опере он почемуто не работает, даже через функцию alert пробил значения переменных w и h - ослик с лисом выдают реальные размеры картинки, а опера возвращает нули. Что нужно исправить?

Последний раз редактировалось SLV, 03.08.2008 в 07:47.
Ответить с цитированием
  #2 (permalink)  
Старый 25.12.2010, 17:07
Новичок на форуме
Отправить личное сообщение для manitor Посмотреть профиль Найти все сообщения от manitor
 
Регистрация: 21.12.2010
Сообщений: 2

Изменение размера картинкиможно скачать отсюда.
Ответить с цитированием
  #3 (permalink)  
Старый 25.12.2010, 20:15
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от manitor
Изменение размера картинкиможно скачать отсюда.
хватит уже спамить своей софтиной!
Ответить с цитированием
  #4 (permalink)  
Старый 25.12.2010, 20:41
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Что-то типо такого:

<script type="text/javascript">
window.onload = function(){
    var img = document.getElementById('div').getElementsByTagName('img'), i = img.length;
    while(i--){
        var computed = window.getComputedStyle ? getComputedStyle(img[i], null) : img[i].currentStyle;
        img[i].style.width = parseInt(computed.width) >= 100 ? '100px' :'';
    }
};
</script>

<div id="div">
    <img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
    <img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
</div>


или такого:

<script type="text/javascript">
window.onload = function(){
    var img = document.getElementById('div').getElementsByTagName('img'), i = img.length;
    while(i--){
        img[i].style.width = img[i].offsetWidth >= 100 ? '100px' : '';
    }
};
</script>

<div id="div">
    <img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
    <img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
</div>

Последний раз редактировалось monolithed, 25.12.2010 в 20:43.
Ответить с цитированием
  #5 (permalink)  
Старый 27.12.2010, 11:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

на всякий случай )))
Сообщение от monolithed
computed.width
в Internet Explorer будет auto если не прописано иное.
так как у img есть свойство width, достаточно проверить его.
Пример:
<script type="text/javascript">
window.onload = function () {
    for (var a = document.getElementById("div").getElementsByTagName("img"), b = a.length; b--;)
     a[b].width >= 100 && (a[b].width = "100")
};
</script>
<div id="div">
    <img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
    <img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" />
</div>
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение картинки по событию Dekker8 Общие вопросы Javascript 1 22.09.2008 11:07
Динамическое изменение <input text> baal1988 Events/DOM/Window 4 24.08.2008 17:17
Динамическое изменение размеров изображения Макс Элементы интерфейса 7 21.07.2008 16:55