Javascript.RU

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

владелец функции
Вызываю функцию:
Код:
<img id ="0" src="Wiring/Вентилятор СО.png"onClick="Resize(0)">
И масштабирую картинку в функции Resize (0). Номер картинки передаю в аргумент функции следующим образом:
Код:
function Resize(I)
var pic = document.getElementById(I);
Нет ли другого способа обращения к функции, через нахождение элемента, ее вызвавшего, чтобы я не передавал аргумент вообще, т.е. так:
Код:
<img id ="0" src="Wiring/Вентилятор СО.png"onClick="Resize()">
Ответить с цитированием
  #2 (permalink)  
Старый 30.10.2008, 13:37
Аспирант
Отправить личное сообщение для EugenyK Посмотреть профиль Найти все сообщения от EugenyK
 
Регистрация: 17.03.2008
Сообщений: 64

diagnost,
1-е: id не может быть числом и не может начинаться с числа.
2-е: В конкретном случае можно указать onClick="Resize(this)"

function Resize(obj){
     // obj будет ссылкой на вызвавший эту функцию объект
}
Ответить с цитированием
  #3 (permalink)  
Старый 30.10.2008, 13:51
Аспирант
Отправить личное сообщение для diagnost Посмотреть профиль Найти все сообщения от diagnost
 
Регистрация: 30.10.2008
Сообщений: 47

ОК, пишу в HTML:
Код:
<img name="pic0" src="Wiring/Вентилятор СО.png" onClick="Resize(this)"
вызываю функцию
Код:
function Resize(obj)
{alert(obj.width);}
Не работает. Подскажите, пожалуйста, как через obj обратиться к свойствам картинки
Ответить с цитированием
  #4 (permalink)  
Старый 30.10.2008, 13:53
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Что не работает? У img не свойства width, есть offsetWidth.
Ответить с цитированием
  #5 (permalink)  
Старый 30.10.2008, 14:14
Аспирант
Отправить личное сообщение для diagnost Посмотреть профиль Найти все сообщения от diagnost
 
Регистрация: 30.10.2008
Сообщений: 47

Любопытно сравнить width и offsetWidth:
Код:
alert(obj.width)
не работает, а
Код:
alert(obj.offsetWidth)
работает.

Код:
obj.offsetWidth = 100
не работает, а
Код:
obj.width = 100
работает
Ответить с цитированием
  #6 (permalink)  
Старый 30.10.2008, 14:51
Аспирант
Отправить личное сообщение для EugenyK Посмотреть профиль Найти все сообщения от EugenyK
 
Регистрация: 17.03.2008
Сообщений: 64

diagnost,
google "javascript offsetWidth" первая ссылка
Цитата:
Note:

Read-only properties.
Return the width of any block-level or inline element.

Syntax:

document.getElementById("elementID").offsetHeight
document.all.elementID.offsetHeight // IE only
document.getElementById("elementID").offsetWidth
document.all.elementID.offsetWidth // IE only
свойство .width у тага img задано не было, поэтому обращаться к нему бессмысленно, также как и к .style.width (если он тоже не был задан)
Ответить с цитированием
  #7 (permalink)  
Старый 30.10.2008, 15:04
Аспирант
Отправить личное сообщение для diagnost Посмотреть профиль Найти все сообщения от diagnost
 
Регистрация: 30.10.2008
Сообщений: 47

Спасибо, буду учить матчасть.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться в повторным обращении к функции, как её обнулить. AdvoGad Общие вопросы Javascript 0 01.09.2008 11:35
математические функции в type="text" Гость Общие вопросы Javascript 8 25.08.2008 22:48
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 13:44
Тестирование функции библиотеки AnimaJS Библиотеки/Тулкиты/Фреймворки 2 26.06.2008 22:45
Вызов функции из файла. Phoenix Общие вопросы Javascript 2 21.11.2007 22:49