Почему у Object [ID] нет метода Animate? - PullRequest
0 голосов
/ 19 марта 2012

Я создал скрипку здесь: http://jsfiddle.net/surfjam/zWWpz/

Я не могу понять, почему анимация работает в двух случаях, но не в другом.В консоли появляется сообщение «... нет метода« Animate »...»

jQuery(document).ready(function($) {

    var effect = "inm-shine";

    $(".circle-button-border").mouseenter(function() {

        $(this).addClass(effect);

        $(this).stop(true, true).animate({
            opacity: '0.85'
        }, 'slow').css({
            'z-index': '100',
            top: '0',
            left: '0'
        });

//Error coming from this line...

        $(this).parents('div:eq(0)').attr('id').animate({
            height: '120%',
            left: '0',
            top: '0',
            width: '120%'
        }, 'fast');

    }).mouseleave(function() {
        $(this).animate({
            opacity: '0'
        }, 'fast');
    });
});​

РЕШЕНИЕ:

Благодаря приведенным ниже рекомендациямпереработал проблемную строку так:

var myId = $(this).parents('div:eq(0)').attr('id');
        $('#' + myId).animate({
            height: '110%',
            left: '0',
            top: '0',
            width: 110%
        }, 'fast');

Спасибо за помощь!

1 Ответ

6 голосов
/ 19 марта 2012

attr('id') возвращает строку, поэтому у вас больше нет связанного объекта jQuery.

...