Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   JQuery hover (https://javascript.ru/forum/jquery/66054-jquery-hover.html)

nashrus 22.11.2016 20:48

JQuery hover
 
Пишу $(".class-hover").hover($.fn.imageHoverIn(), $.fn.imageHoverOut());

Как внутри imageHoverIn и imageHoverOut обратиться к this, который вызвал hover?

Rise 22.11.2016 20:53

nashrus, так и обращайся

nashrus 22.11.2016 22:18

как?
this.getAttribute('data') в теле не анонимных функций пишет 'Object doesn't support property or method 'getAttribute''.

Rise 22.11.2016 22:32

nashrus, а зачем ты эти функции вызываешь...

nashrus 22.11.2016 22:44

ну а как? понятно, я нуб, но вот надо.
я объявил их как
jQuery.fn.imageHoverIn = function () {}
как она узнает, когда ей вызываться?

Rise 22.11.2016 22:54

nashrus, браузер сам их вызовет в нужный момент твоя задача их просто передать куда следует
$(".class-hover").hover($.fn.imageHoverIn, $.fn.imageHoverOut);

nashrus 22.11.2016 23:22

я и передал.
вот говорю, ВНУТРИ этих функций как обратиться к this?
this.getAttribute('data') пишет 'Object doesn't support property or method 'getAttribute''.
что я не так понимаю, или не могу пояснить, в чём ошибка.

nashrus 22.11.2016 23:26

о, сорри, написал без скобок, вызов, всё заработало,
а как параметр в функцию передать?
сорри, нуб.

чтоб так: $(".class-hover").hover($.fn.imageHoverIn(1000), $.fn.imageHoverOut);

Rise 22.11.2016 23:32

nashrus, а нафига это надо?

nashrus 22.11.2016 23:40

ну вызов в шаблоне HTML находится, и туда рендеряться настройки, а js файл хочу сделать атомарным от этих настроек, т.е. инкапсулировать его от внешнего мира.

Rise 23.11.2016 00:02

nashrus, не понял о чем ты.

nashrus 23.11.2016 00:23

спасибо за внимание к моему вопросу, но я не понимаю, чего не понятного.
внутри этих функций есть величины, которые хотелось бы задавать из-вне.
какие тут бест-практики? через внешние переменные? и если так, то можно синтаксис полных объявления и использования, а то засяду, как со скобками см. выше.

Rise 23.11.2016 00:34

nashrus, здесь полный синтаксис.

nashrus 23.11.2016 00:40

я понимаю, о чём Вы. сам так раздражаюсь.
я обязательно всё это изучу, чуть позже.
но вопрос был даже не в синтаксисе.
как запихнуть значения в эти браузеро-вызываемые функции.
как принято делать?

Rise 23.11.2016 00:46

nashrus, используй внешние переменные.

nashrus 23.11.2016 00:57

спасибо, друг.
вроде работает.
вот так нормально будет:
$.imageHoverinterval = 1000;
$(".class-hover").hover($.fn.imageHoverIn, $.fn.imageHoverOut);
?

Rise 23.11.2016 01:01

nashrus, работает и ладно.


Часовой пояс GMT +3, время: 05:31.