Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в CALLBACK передать текущий элемент??? Как в CALLBACK передать текущий элемент? 
:(
    Опции темы
Cheizer
  Дата 24.9.2016, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Друзья, опять у меня гребаный затык с THIS. Не понимаю как он работает.

Есть некая библиотека JS vivus, для отрисовки SVG. Но суть не в этом.

Вызываю на странице, все параметры все ок, все супер работает. В CALLBACK вызова засовываю еще одну функцию showImage, она должна просто добавлять убирать класс у изображения. И она прекрасно работает.

НО ЗАСАДА В ТОМ ЧТО ОНА ДЕЛАЕТ ЭТО СО ВСЕМИ ПОДОБНЫМИ ЭЛЕМЕНТАМИ НА СТРАНИЦЕ! Понимаю, потому что по классу.

ВНИМАНИЕ ВОПРОС! Как написать функцию showImage или как передать в CALLBACK что то, что бы работа велась именно с ЭТИМ элементом, может какой THIS дописать??? Как только не пробовал и THIS и EL нифига не пашет. :((((((
Подскажите куда копаааааать???????  

Код

<script>  
      var obt = new Vivus('logosvg', {
        type: 'delayed',
        duration: 150
      }, showImage);

    function showImage() {
        showImage.el.setAttribute('height', 'auto');
        $(".svg img").addClass("show");
        $(".svg svg").addClass("hiden");
    };
</script>



Код

<div class="svg">
<img src="img/logo.png" alt="" />
<object id="logosvg" data="/images/logo.svg" type="image/svg+xml"></object>
</div>




PM MAIL   Вверх
ksnk
Дата 25.9.2016, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Функция showImage может видеть и использовать переменную obt, если этого достаточно.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Cheizer
Дата 26.9.2016, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Вот так получается? Все равно у соседних подобных сразу вызывается. 
Как передать obt в showImage правильно?  Я много всего перепробовал 

Вот так не работает вообще
Код

 var obt = new Vivus('logosvg', {
        type: 'delayed',
        duration: 150
      }, showImage(obt));



Код

 function showImage(obt) {
        showImage.el.setAttribute('height', 'auto');
        $(".svg img").addClass("show");
        $(".svg svg").addClass("hiden");
    };

PM MAIL   Вверх
ksnk
Дата 26.9.2016, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Код

var obt = new Vivus('logosvg', {
        type: 'delayed',
        duration: 150
      }, function(){return showImage(obt);});

а так?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Cheizer
Дата 27.9.2016, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Цитата(ksnk @ 26.9.2016,  21:37)
Код

var obt = new Vivus('logosvg', {
        type: 'delayed',
        duration: 150
      }, function(){return showImage(obt);});

а так?

Спасибо, но так тоже все по старому, у обоих одновременно срабатывает :( у кого первым вызывается .svg img на всех распространяется.  Вечный геморой с классами, не знаю как THIS применить

Код

      var obt1 = new Vivus('1icon', {
        type: 'delayed',
        duration: 500
      }, function(){return showImage(obt1);});
      
      var obt2 = new Vivus('2icon', {
        type: 'delayed',
        duration: 100
      }, function(){return showImage(obt2);});


        function showImage() {
        $(".svg img").addClass("show");
        $(".svg object").addClass("hiden");
    }; 

PM MAIL   Вверх
ksnk
Дата 27.9.2016, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Зачем тебе параметр, если ты им не пользуешься?
Сам Vivus знает на какой элемент цепляется?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Cheizer
Дата 27.9.2016, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Vivus id svg прописываю и все 2icon, а showImage  это моя функция, калбек из функции vivus, фот как с классами рисунок показывать по текущему элементу? 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1225 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.