2012-03-18 3 views
0

Я создал скрипку здесь: http://jsfiddle.net/surfjam/zWWpz/Почему у объекта [ID] нет метода «Анимация»?

Я не могу понять, почему анимация работает в двух случаях, но не в другом. В ошибка консоли говорит: «... нет никакого метода„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'); 

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

+0

'attr ('id')' возвращает значение атрибута * id *. – Gumbo

+0

комментарий от gumbo прав. вы пытаетесь сделать анимацию в строке, не связанной с jquery-объектом. –

ответ

6

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

Смежные вопросы