小编Lan*_*nny的帖子

我可以在setState完成更新后执行一个函数吗?

我是React JS的新手(就像今天刚刚开始的那样).我不太明白setState是如何工作的.我将React和Easel JS结合起来根据用户输入绘制网格.这是我的JS bin:http://jsbin.com/zatula/edit? js, output

这是代码:

        var stage;

    var Grid = React.createClass({
        getInitialState: function() {
            return {
                rows: 10,
                cols: 10
            }
        },
        componentDidMount: function () {
            this.drawGrid();
        },
        drawGrid: function() {
            stage = new createjs.Stage("canvas");
            var rectangles = [];
            var rectangle;
            //Rows
            for (var x = 0; x < this.state.rows; x++)
            {
                // Columns
                for (var y = 0; y < this.state.cols; y++)
                {
                    var color = "Green";
                    rectangle = new createjs.Shape();
                    rectangle.graphics.beginFill(color);
                    rectangle.graphics.drawRect(0, 0, …
Run Code Online (Sandbox Code Playgroud)

javascript setstate reactjs

141
推荐指数
5
解决办法
10万
查看次数

如何在我的CreateJS形状中获得随机颜色?

我希望有一个随机颜色,其中定义了"深红色"

    var stage = new createjs.Stage("demoCanvas");

    var circle = new createjs.Shape();
    circle.graphics.beginFill("Crimson").drawCircle(0, 0, 50);
    circle.x = 100;
    circle.y = 100;
    stage.addChild(circle);
    stage.update();
Run Code Online (Sandbox Code Playgroud)

javascript random easeljs createjs

6
推荐指数
1
解决办法
1135
查看次数

EaselJS框架中的文本

作为一个小问题,我得到了解决方案!但为什么会这样呢?

var label = new Text(text.toString(), "20px Arial", "orange");
label.textAlign = "center";
label.x = 708;
label.y = 435;
label.maxWidth=40;
stage.addChild(label);
Run Code Online (Sandbox Code Playgroud)

首先,我没有添加label.maxWidth = 40.还有一些令人惊叹的happing,它适用于Ubuntu上的firefox和chrome!然而,它在窗户上没有显示铬.

附上官方网站http://easeljs.com/docs/Text.html上的maxWidth声明

maxWidth - Number绘制文本的最大宽度.如果指定了maxWidth(非null),则会压缩或缩小文本以使其适合此宽度.

html5 easeljs

4
推荐指数
1
解决办法
4838
查看次数

CreateJS createjs.Ticker.off("tick", element.update) 不起作用

我正在制作一个射击游戏,我需要通过将它们绑定到 'tick' 事件来更新子弹的状态,但是当调用 remove 方法将它们从 'tick' 事件中删除时,它不会删除它。创建一个新实例后,它会不断更新,而不是绑定的那个。

方法 'add'/'remove' 用于从 'tick' 事件绑定/解除绑定方法

class window.Stage

  stage = undefined
  counter = 0
  fps = 60

  add: (element) =>
    element.id = counter++
    stage.addChildAt(element.view, element.id)
    element.listener = createjs.Ticker.on("tick", element.update)

  remove: (element) =>
    createjs.Ticker.off("tick", element.listener) # Not removing!
    stage.removeChildAt(element.id)

  update: () =>
    stage.update()
Run Code Online (Sandbox Code Playgroud)

这就是我在 Game 类中调用 remove 方法的方式

  run: () => 

    if @gun? && !@gun.alive
      @stage.remove(@gun)
      @gun = undefined

    if @player.shooting() && !@gun?     
      @gun = @player.shoot() # Ticker keeps updating new instance
      @stage.add(@gun)

    for bunker …
Run Code Online (Sandbox Code Playgroud)

javascript event-listener coffeescript createjs

0
推荐指数
1
解决办法
1625
查看次数

JQuery函数不响应单选按钮

这对我来说是一个非常棘手的问题(或者我只是非常愚蠢).尝试使用JQuery功能,当用户选择某个单选按钮时,下面的表单会相应更改(例如,个人看到姓名,公司,职位,电话,电子邮件和地址.公司只看到公司,电话,电子邮件和地址.但目前点击单选按钮无效.

我还想问:1)是我的函数$('#contactType> input').在正确的地方(在其中)还是应该在其他地方?2)我可以使用index.js文件来简化它吗?如果是这样,如何做链接index.js?它只是

干杯.

$(document).ready(function() {
  listenForInputChanges();
})

function listenForInputChanges() {
  $('#contactType >input').change(function() {
    console.log('val is ' + $(this).val())
    switch ($(this).val()) {
      case 'individual':
        $('#nameDiv').show();
        $('#companyDiv').show();
        $('#titleDiv').show();
        $('#phoneDiv').show();
        $('#emailDiv').show();
        $('#addressDiv').show();
        break;

      case 'team':
        $('#nameDiv').show();
        $('#companyDiv').show();
        $('#titleDiv').hide();
        $('#phoneDiv').show();
        $('#emailDiv').show();
        $('#addressDiv').show();
        break;

      case 'company':
        $('#nameDiv').hide();
        $('#companyDiv').show();
        $('#titleDiv').hide();
        $('#phoneDiv').show();
        $('#emailDiv').show();
        $('#addressDiv').show();
        break;
    }
  })
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>

<head>
  <title>Create new contact</title>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">
  </script>


</head>

<body>
  <div class="container">
    <div class="row">
      <form method="post" class="form-horizontal col-md-6 col-md-offset-3">
        <h2>Motoko Insurance …
Run Code Online (Sandbox Code Playgroud)

javascript php jquery function

0
推荐指数
1
解决办法
54
查看次数

-1
推荐指数
1
解决办法
803
查看次数