2

我正在使用带有 CSS 动画的 UIWebView,它在主体从 alpha 0 加载到 1 时为主体设置动画:

 NSString *HTML = [NSString stringWithFormat:@"<html> \n"
                      "<head> \n"
                      "<style type=\"text/css\"> \n"
                      "@-webkit-keyframes fadeIn {from {opacity: 0;-webkit-transition: opacity;}to {opacity: 1;}} \n"
                      "body {\n"
                      "-webkit-animation-name:fadeIn;\n"
                      "-webkit-animation-duration: 1.5s;\n"
                       ...

我的问题是,我将如何使用 Javascript 手动调用此动画,以便在任何时候,如果我调用 JS,视图的动画从 0 到 1(而不仅仅是在加载时动画)?或者这对于 CSS 是不可能的?

基本上我想这样做:

[mainWebView stringByEvaluatingJavaScriptFromString:@"/*animate*/"];
4

2 回答 2

1

您可以通过将过渡添加到主体并稍后添加一个类来更改属性,并在您选择时通过 jQuery 或任何其他库附加到主体的过渡来更改属性。这里有一个简单的例子:

http://jsfiddle.net/Fwteu/4/

还有一个示例,该示例通过回调为不透明度设置动画以显示主体:

http://jsfiddle.net/tCfb5/

于 2012-07-08T22:08:00.503 回答
0

您只需opacity: 0在普通 CSS 中设置(通过类或其他方式),然后domObject.style.opacity = 1在加载时运行的 JavaScript 中进行设置。动画在属性更改时发生,因此您只需在希望动画发生时更改属性。

于 2012-07-08T22:02:36.873 回答