【问题标题】:jQuery animation won't run on one elementjQuery 动画不会在一个元素上运行
【发布时间】:2009-11-04 11:39:17
【问题描述】:

我有以下 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 是选择框。

【问题讨论】:

    标签: jquery jquery-animate jquery-color


    【解决方案1】:

    带有 ajax/json 请求的 WFM

    http://jsbin.com/egani --> 使用 jQuery UI

    http://jsbin.com/ekura/ --> 使用旧的 jQuery 颜色插件(2 年以上)

    【讨论】:

    • 这可能是特定于平台/浏览器的。 WinXP SP3 Opera 10.01、IE6、FF 3.5.4 上的 WFM。你用什么?
    • 我使用的是 Safari 4.0.3/Mac。我也用 Firefox 3.5.3/Mac 进行了测试,其中第三个字段实际上挂了一次,第二个字段在 Mac 的 Google Chrome 4.0.223.11(开发预览版)上挂了一次。尚未在 Windows 上测试。
    • 什么也没做。我想我不会费心去修复它。也许我可以找到另一个有效的插件:P
    • 顺便说一句,jQuery UI 支持这一点。猜猜这就是为什么没有进一步开发原始 jquery 颜色插件的原因(可能代码合并到 jQuery UI 中)。你能试试我用jQuery UI而不是旧插件制作的示例吗
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多