Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.07.2010, 23:29
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Как сохранить ссылку на DOM element?
Собственно, предположим, у меня div без id.
Я хочу, допустим, чтобы при клике он плавно становился прозрачным.
Но как передать функции элемент?
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2010, 01:29
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Просто передавайте в функцию.

function myFunc(object){
alert(object.innerHTML)
}

var myDiv = document.createElement("div");
myDiv.appendChild(document.createTextNode("test"));
myFunc(myDiv)


Или вы говорите про this?

<div onclick="alert(this.innerHTML)">test</div>

Последний раз редактировалось subzey, 08.07.2010 в 01:32.
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2010, 02:22
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

http://javascript.ru/tutorial/dom
Ответить с цитированием
  #4 (permalink)  
Старый 08.07.2010, 12:22
Аспирант
Отправить личное сообщение для pandasensey Посмотреть профиль Найти все сообщения от pandasensey
 
Регистрация: 24.02.2010
Сообщений: 55

Просто диву пропиши:
<div onClick="changeOpacity(this)"/>

а в функции changeOpacity работаете с пришедшим аргументом как со ссылкой на div:
function changeOpacity(obj) {
  obj.style.opacity = '0.5'; //Это например, ибо opacity - очень некросброузерная штука
}
Ответить с цитированием
  #5 (permalink)  
Старый 08.07.2010, 18:20
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Ммм... Постараюсь объяснить понятнее)

1. Подразумевается, что функция обработчик должна допустим:
а. читать текущее value параметра
б. изменять его в соответствии с алговритмом и value параметра
2. Что она через setInterval будет вызываться, пока value не достигнет опр. значения(opacity: 1 например)
3. при загрузке страницы, запускается js, который вешает скажем, на все теги samp функции обработчики, c единственным параметром(this)

Наподобие fadein/fadeout в Jquery.

В принципе я знаю несколько вариантов реализации, но по производительности они больно не очень
Читал статью про Closures, подумал нельзя ли применить...
Ответить с цитированием
  #6 (permalink)  
Старый 08.07.2010, 19:34
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Цитата:
Читал статью про Closures, подумал нельзя ли применить...
function callLater(paramA, paramB, paramC){
    /* Return a reference to an anonymous inner function created
       with a function expression:-
    */
    return (function(){
        /* This inner function is to be executed with - setTimeout
           - and when it is executed it can read, and act upon, the
           parameters passed to the outer function:-
        */
        paramA[paramB] = paramC;
    });
}

...

/* Call the function that will return a reference to the inner function
   object created in its execution context. Passing the parameters that
   the inner function will use when it is eventually executed as
   arguments to the outer function. The returned reference to the inner
   function object is assigned to a local variable:-
*/
var functRef = callLater(elStyle, "display", "none");
/* Call the setTimeout function, passing the reference to the inner
   function assigned to the - functRef - variable as the first argument:-
*/
hideMenu=setTimeout(functRef, 500);


тут надо создавать глобальную переменную, а заранее с this не прокатит...
Ответить с цитированием
  #7 (permalink)  
Старый 08.07.2010, 23:36
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Всё! Попыжился, попыжился и сделал.
Всё прекрасно. 2 функции, 3 тоесть если модифаер учитывать и некаких обходов DOM в цикле)))
Если кому интересно могу выложить.
Ответить с цитированием
  #8 (permalink)  
Старый 17.06.2020, 12:02
Новичок на форуме
Отправить личное сообщение для Corathir Посмотреть профиль Найти все сообщения от Corathir
 
Регистрация: 16.06.2020
Сообщений: 3

Сообщение от float Посмотреть сообщение
Всё! Попыжился, попыжился и сделал.
Всё прекрасно. 2 функции, 3 тоесть если модифаер учитывать и некаких обходов DOM в цикле)))
Если кому интересно могу выложить.
Надо было выложить
Эх, никакого уважения к потомкам...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Навигация внутри DOM. Как это сделать нормально? master_alf Events/DOM/Window 10 09.04.2010 10:18
Как узнать содержит ли DOM определенный элемент Ruslan Events/DOM/Window 8 12.03.2010 22:02
При нажатии на ссылку браузер запоминает как переход на др страничку mff AJAX и COMET 13 17.02.2010 21:46
Как проверить ссылку на работоспособнось? Oleg_777 Общие вопросы Javascript 23 19.03.2009 18:57
Как постоянно запускать одну и туже ссылку? Maxim Общие вопросы Javascript 28 27.02.2009 09:25