Javascript jQuery动画函数不适用于显示和-webkit转换属性

Javascript jQuery动画函数不适用于显示和-webkit转换属性,javascript,jquery,Javascript,Jquery,以下代码适用于除显示和-webkit transform属性之外的所有属性 // Example 1 : $(this).animate({ "color":"#efbe5c", "display":"block" },1000); // Example 2 : $(this).animate({ "-webkit-transform":"rotate(30deg)" },1000); 从s文件:

以下代码适用于除显示和-webkit transform属性之外的所有属性

// Example 1 :

$(this).animate({
               "color":"#efbe5c",
               "display":"block"
},1000);


 // Example 2 :

$(this).animate({
              "-webkit-transform":"rotate(30deg)"
},1000);
从s文件:

所有已设置动画的属性应设置为单个数值, 除非下文另有说明;大多数非数字属性不能为空 使用基本jQuery功能(例如宽度、高度、, 或“左”可以设置动画,但不能设置背景色,除非 使用jQuery.Color插件

但是,不透明度将淡入给定值

jQuery在其页面上的“基本用法”下有一个这样的示例,用于设置任何元素的动画,例如简单图像:

HTML

您还可以将切换值设置为不透明度,如下所示:

从s文件:

所有已设置动画的属性应设置为单个数值, 除非下文另有说明;大多数非数字属性不能为空 使用基本jQuery功能(例如宽度、高度、, 或“左”可以设置动画,但不能设置背景色,除非 使用jQuery.Color插件

但是,不透明度将淡入给定值

jQuery在其页面上的“基本用法”下有一个这样的示例,用于设置任何元素的动画,例如简单图像:

HTML

您还可以将切换值设置为不透明度,如下所示:


您应该设置元素的“不透明度”属性(而不是其显示类型)的动画

首先将其css设置为“显示:块”和“不透明度:0”,使其不可见,然后将其“不透明度”属性设置为“不透明度:1”


此外,如果没有外部jQuery插件,颜色也无法设置动画。

您应该设置元素不透明度属性的动画,而不是其显示类型的动画

首先将其css设置为“显示:块”和“不透明度:0”,使其不可见,然后将其“不透明度”属性设置为“不透明度:1”


此外,如果没有外部jQuery插件,颜色也无法设置动画。

animate方法允许我们在任何数值CSS属性上创建动画效果。唯一需要的参数是CSS属性的普通对象。此对象与可以发送到.css方法的对象类似,只是属性的范围更严格

$("#block").animate({
    width: "70%",
    opacity: 0.4,
    marginLeft: "0.6in",
    fontSize: "3em",
    borderWidth: "10px"
    }, 1500 );

.animate方法允许我们在任何数值CSS属性上创建动画效果。唯一需要的参数是CSS属性的普通对象。此对象与可以发送到.css方法的对象类似,只是属性的范围更严格

$("#block").animate({
    width: "70%",
    opacity: 0.4,
    marginLeft: "0.6in",
    fontSize: "3em",
    borderWidth: "10px"
    }, 1500 );

您可以这样放置代码:

    $(this).animate({
                   "color":"#efbe5c"                   
    },1000).show();

您可以这样放置代码:

    $(this).animate({
                   "color":"#efbe5c"                   
    },1000).show();
最好使用不透明度

$(this).animate({
           "color":"#efbe5c",
           "opacity":"1",},1000);
最好使用不透明度

$(this).animate({
           "color":"#efbe5c",
           "opacity":"1",},1000);

下面是一个为不透明度和-webkit变换设置动画的示例

请注意,我们正在使用-webkit转换的步骤回调,因为jQuery不知道如何在开箱即用的情况下设置旋转30度的动画:

var $test = $('#test');
$test.animate({
    opacity: 1
}, {
    step: function(now, fx) {
        $test.css('-webkit-transform', 'rotate(' + (30 * now) + 'deg)');
    }
}, 1000);

演示:

下面是一个设置不透明度和-webkit变换动画的示例

请注意,我们正在使用-webkit转换的步骤回调,因为jQuery不知道如何在开箱即用的情况下设置旋转30度的动画:

var $test = $('#test');
$test.animate({
    opacity: 1
}, {
    step: function(now, fx) {
        $test.css('-webkit-transform', 'rotate(' + (30 * now) + 'deg)');
    }
}, 1000);

演示:

您想在哪个事件上设置动画,让您尝试淡入/淡出?你应该用不透明来代替。设置显示动画实际上没有意义,因为在内联和块之间设置动画没有意义。如何设置显示动画?你确定不应该设置不透明度的动画吗?@jmar777:我使用了fadeIn/fadeOut来显示。它可以工作。但是对于-webkit转换,为什么动画不起作用。有什么想法吗?@ShivajiRanaware,因为jQuery无法处理非数字动画,也就是说,它不知道如何处理旋转30度。这可能有一个插件,或者您可以使用步骤回调手动更新属性。您想在哪个事件上设置动画使您尝试淡入/淡出?你应该用不透明来代替。设置显示动画实际上没有意义,因为在内联和块之间设置动画没有意义。如何设置显示动画?你确定不应该设置不透明度的动画吗?@jmar777:我使用了fadeIn/fadeOut来显示。它可以工作。但是对于-webkit转换,为什么动画不起作用。有什么想法吗?@ShivajiRanaware,因为jQuery无法处理非数字动画,也就是说,它不知道如何处理旋转30度。这可能有一个插件,或者您可以使用步骤回调手动更新属性。