メニューがあり、jqueryを使用してアニメーション化します。メニューの「a」をクリックすると、いくつかのajaxコンテンツがロードされます。
現在表示しているページのリンク(A)のアニメーションを停止して、別の色を付けたいと思います。別のリンクをクリックすると、前のリンクが再びアニメーション化され、古い色に戻ります。
これは機能です:
$.fn.flipNav = function(options) {
options = $.extend({
speed : 200
}, options);
return this.each(function() {
console.log(this);
var nav = $(this),
lis = $('li', nav),
anchors = $('.inactive', lis).css('padding', 0),
spanHeight;
$.each(anchors, function() {
var a = $(this),
val = a.text();
a.html('<span>' + val + '</span> <span>' + val + '</span>')
.parent('li')
.height(a.children('span:first').outerHeight())
.end()
.children('span:first')
.css('marginTop', 0) // strange for IE
});
spanHeight = lis.eq(0).height();
lis.hover(function() {
$(this).find('span:first').animate({
marginTop : '-' + spanHeight
}, { duration: options.speed, queue : false });
}, function() {
$(this).find('span:first').animate({
marginTop : 0
}, { duration: options.speed, queue: false });
});
}); // end each
}
これは私が取り組んだいくつかのコードです:
$(".inactive").click(function(){
$("#navigatie ul li a").each(function(){
$(this).removeClass("active").addClass('inactive');
});
$(this).removeClass("inactive").addClass('active');
$(this).find('span').css("color", "#BE1823");
$(this).find('span:first').stop(true, true);
});
http://jsfiddle.net/388Qs/ ご覧のとおり、色は変わりますが、アニメーションは停止しません。