Сценарий jQuery конфликтует с AJAX в Drupal 7? - PullRequest
0 голосов
/ 27 февраля 2011

Я добавил эффект «Волшебная линия» в меню, но он вызывает проблемы в интерфейсе администратора. http://screencast.com/t/HxTs3ZLlT Показанная кнопка не открывает встроенные настройки должным образом.

При загрузке оверлея Firebug показывает ошибку:

$ ("# main-menu-links .active a"). Position () пусто

Полный скриншот консоли: http://screencast.com/t/im1NKS025gJ9

А сам скрипт вызывается из .info файла:

(function ($) {

    Drupal.behaviors.magicLine = {
        attach: function(context) {

            // Lava Lamp Meny Effect

            var $el, leftPos, newWidth,
                $mainNav = $("#main-menu-links");

           $mainNav.append("<li id='magic-line'></li>");
           var $magicLine = $("#magic-line", context);

            $magicLine
                .width($("#main-menu-links li.active").width())
                .css("left", $("#main-menu-links li.active a").position().left)
                .data("origLeft", $magicLine.position().left)
                .data("origWidth", $magicLine.width());

            $("#main-menu-links li a").hover(function() {
                $el = $(this);
                leftPos = $el.position().left;
                newWidth = $el.parent().width();
                $magicLine.stop().animate({
                    left: leftPos,
                    width: newWidth
                });
            }, function() {
                $magicLine.stop().animate({
                    left: $magicLine.data("origLeft"),
                    width: $magicLine.data("origWidth")
                });
            });
        }
    };


})(jQuery);

Я не программист, поэтому понятия не имею, как это решить.

1 Ответ

1 голос
/ 02 марта 2011

Консольное сообщение: $ ("# main-menu-links .active a"). Position () равно нулю

обычно означает, что jQuery не смог найти этот элемент (элемент привязки с id = ")main-menu-links "и class =" active ").Вы уверены, что активный класс дается одной из ссылок вашего главного меню?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...