Парадокс! (views + geofield yandex map +JavaScript)

Главные вкладки

Аватар пользователя Zerbert Zerbert 3 марта 2016 в 15:28

Всем привет!)
Столкнулся с одним парадоксом: вывел с помощью views на карту полигоны, сделал фильтрацию контента на этом представлии доступную пользователям, так же в представлении использую AJAX. После этого написал скрипт, чтобы полигоны выделялись при наведении и столкнулся с парадоксом. Загружаю страницу, навожу мышь на любой объект - цвет меняется, отвожу мышь от объекта - старое значение не возвращается. НО!!! Если я применяю любой из доступных фильтров, то после этого код начинает нормально работать и старый цвет возвращается. Ребят, можете кто-нибудь подсказать почему так происходит?? и если возможно, как починить?

вот код скрипта:

    (function($){
            $('#geofield-ymap-catalog-page').bind('yandexMapInit', function (event, map) {
                var pr = 'default',pr1;
                map.geoObjects.events
                    .add('mouseenter', function (e) {
                        if(pr != 'custom#hover'){
                            pr1 = e.get('target').options.get('preset');
                            e.get('target').options.set('preset', 'custom#hover');
                            pr = 'custom#hover';
                        }
                    })
                    .add('mouseleave', function (e) {
                        e.get('target').options.set('preset', pr1);
                        pr = 'default';
                    });
            });
    })(jQuery);

Лучший ответ

Аватар пользователя Zerbert Zerbert 14 марта 2016 в 14:45

Как оказалось скрипт рабочий, просто у меня в представлении был и пейджер и блок, поэтому код дублировался. Помогло создание отдельного tpl.php для пейджера и перенос скрипта в него.

Комментарии

Аватар пользователя Zerbert Zerbert 14 марта 2016 в 14:45

Как оказалось скрипт рабочий, просто у меня в представлении был и пейджер и блок, поэтому код дублировался. Помогло создание отдельного tpl.php для пейджера и перенос скрипта в него.