Использование Skrollr с Dart

Я пытаюсь реализовать анимацию на основе прокрутки в своем веб-приложении Dart с помощью Skrollr.js. Пока у меня есть следующее в 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 для анимации на основе прокрутки, я был бы рад узнать об этом.

Заранее спасибо.

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>

это работает. нет проблем с этим.

Другие вопросы по тегам