2014年2月27日木曜日

開発環境

Head First JavaScript ―頭とからだで覚えるJavaScriptの基本( Michael Morrison (著), 豊福 剛 (翻訳)、オライリージャパン)の8章(ページの部品をかき集める)、自分で考えてみよう(p.373)をDartで考えてみる。

その他参考書籍

自分で考えてみよう(p.373)

コード

sample.dart

import 'dart:html';

void main() {
  int i = 0;
  int j = 0;
  int k = 0;
  decision1.onClick.listen((MouseEvent event) {
    replaceNodeText('scenetext', 'シーン説明' + ((){
      i += 1;
      return '$i';
    })());
    replaceNodeText('decision1', '決定1: ' + ((){
      j += 1;
      return '$j';
    })());
  });
  decision2.onClick.listen((MouseEvent event) {
    replaceNodeText('scenetext', 'シーン説明' + ((){
      i += 1;
      return '$i';
    })());
    replaceNodeText('decision2', '決定2: ' + ((){
      k += 1;
      return '$k';
    })());
  });
  int n = 0;
  decisions.forEach((SpanElement span){
    n += 1;
    span
        ..onMouseOver.listen((MouseEvent event) =>
            span.className = 'decisionhover')
        ..onMouseOut.listen((MouseEvent event ) =>
          span.className = 'decision');
  });
}

SpanElement decision1 = querySelector('#decision1');
SpanElement decision2 = querySelector('#decision2');
List<SpanElement> decisions = [decision1, decision2];

void replaceNodeText(String id, String new_text) {
  Node node = querySelector('#$id');
  Text text_node = new Text(new_text);
  while (!node.childNodes.isEmpty) {
    node.childNodes.first.remove();
  }
  node.append(text_node);
}
シーン説明

決定1 決定2

0 コメント:

コメントを投稿