0

我正在尝试使用 Skrollr.js 在我的 Dart Web 应用程序中实现一些基于滚动的动画。到目前为止,我在 main() 中有以下内容:

main() {
  ScriptElement script = new ScriptElement()
    ..type = 'application/javascript'
    ..src = 'skrollr.min.js';
  document.body.children.add(script);
  ScriptElement script2 = new ScriptElement()
    ..type = 'application/javascript'
    ..innerHtml = 'var s = skrollr.init({forceHeight: false});';
  document.body.children.add(script2);

  js.context.callMethod('skrollr', ['init({forceHeight: false})']);
}

出于某种原因,我在运行时遇到以下错误:

Uncaught ReferenceError: skrollr is not defined and 
Exception: NoSuchMethodError: method not found: 'skrollr'

skroller.min.js 已放置在 index.html 旁边的应用程序中,因此我正在寻求有关此处问题的帮助。

此外,如果它是基于滚动动画的纯 Dart 替代品,我也很高兴知道这一点。

提前致谢。

4

1 回答 1

1

只需使用:

import 'dart:js'; 

void main() { 
  void keyframe(element, name, direction) {
  } 

  context['skrollr'].callMethod('init', [{'keyframe': keyframe}]); 
}

<!DOCTYPE html> 
<html> 
  <head> 
    <meta charset="utf-8"> 
    <title>skrollr</title> 
    <script type="text/javascript" src="skrollr.min.js"></script> 
  </head> 
  <body> 
    <script type="application/dart" src="main.dart"></script> 
    <script data-pub-inline src="packages/browser/dart.js"></script> 
  </body> 
</html>

这行得通。没问题。

于 2014-12-08T12:42:33.683 回答