jQuery动画不会在一个元素上运行

时间:2009-11-04 11:39:17

标签: jquery jquery-animate jquery-color

我有以下jQuery代码,当我点击选择框中的选项时运行:

$('#name, #account, #kid')
    .attr('disabled', 'disabled')
    .css('background-color', '#ffffcc')
    .animate({ backgroundColor:'#ffffff' }, 1000);

此代码采用三个输入字段#name#account#kid,禁用它们,更改背景颜色,然后将背景颜色淡化为白色。我正在使用jQuery Color插件,它允许我淡化颜色。

问题是,当网站刚刚加载,并且我正在更改选择的选定选项时,它会禁用所有三个字段,更改背景颜色,但第一个元素#name不会褪色背景颜色为白色。只有以下两个。

但是,如果我再次尝试更改选择框选项,则每次都能完美地运行!所以问题只发生在页面重新加载后的第一次。以前有其他人经历过同样的事吗?

这是jQuery的全部内容:

$('#receiver').change(function(){

    var selected = $(this).children('option:selected').val();

    if (selected == 'new')
    {
        $('#name, #account, #kid').val('').attr('disabled', '');
    }
    else
    {
        $.getJSON("<?php echo site_url('ajax/get_receivers') ?>",
        function(data){
            $.each(data, function(i, data){
                if (data.id == selected)
                {
                    $('#name').val(data.name);
                    $('#account').val(data.account);
                    $('#kid').val(data.kid);

                    $('#name, #account, #kid')
                        .attr('disabled', 'disabled')
                        .css('background-color', '#ffffcc')
                        .animate({ backgroundColor:'#ffffff' }, 1000);
                }
            });
        });
    }

});

#receiver是选择框。

1 个答案:

答案 0 :(得分:1)

两个WFM与ajax / json请求

http://jsbin.com/egani - &gt;使用jQuery UI

http://jsbin.com/ekura/ - &gt;使用旧的jQuery颜色插件(2年+)