我在这里创造了一个小提琴:http://jsfiddle.net/surfjam/zWWpz/
我无法弄清楚为什么animate在两个实例中工作,而在另一个实例中不工作。在控制台错误中说“......没有方法'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');
});
});
SOLUTION:
感谢下面的建议,我已经重新设计了这样的问题:
var myId = $(this).parents('div:eq(0)').attr('id');
$('#' + myId).animate({
height: '110%',
left: '0',
top: '0',
width: 110%
}, 'fast');
感谢您的帮助!
答案 0 :(得分:6)
attr('id')
返回一个字符串,因此您不再拥有链接的jQuery对象。