小编evo*_*box的帖子

画布描边和填充颜色

问题是描边不透明度低于填充不透明度,并且我无法使描边颜色与填充颜色具有相同的不透明度。

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.strokeStyle = "rgba(255,0,0,1)";
ctx.fillStyle = "rgba(255,0,0,1)";
ctx.strokeRect(20, 20, 25, 25);
ctx.fillRect(20, 50, 25, 25);
Run Code Online (Sandbox Code Playgroud)
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
    Your browser does not support the HTML5 canvas tag.</canvas>
Run Code Online (Sandbox Code Playgroud)

如果我们将 fillStyle 不透明度设置为 0.5,那么它们将是相同的,但我们不能提高描边的不透明度。

那么如何设置描边颜色与填充颜色相同呢?

javascript canvas

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

如何保持对象中项目的顺序

它从后端获取具有非常特定键的对象。我必须更改一些值 \xe2\x80\x8b\xe2\x80\x8b 但仅限于我应该中断的属性。但是,我必须保持顺序。\n下面的代码可以工作,但我的项目中有问题 - 不同的浏览器?不知道。“For of”从键“14D”开始。我如何确定,如何维持秩序?由于特定的键,我无法对其进行排序。

\n

\r\n
\r\n
let updatedData = {};\nconst dataFromBd = {\n  \'1M\': {\n    name: \'anna\'\n  },\n  \'1Y\': {},\n  \'2Y\': {},\n  \'3M\': {},\n  \'3Y\': {},\n  \'4Y\': {},\n  \'5Y\': {},\n  \'6M\': {},\n  \'7Y\': {},\n  \'10Y\': {},\n  \'14D\': {},\n  \'15Y\': {},\n  \'>20Y\': {}\n};\n\nfor (let [key, value] of Object.entries(dataFromBd)) {\n  updatedData[key] = \'hello\';\n  if (key === \'10Y\') break;\n}\n\nconsole.log(\'data\', updatedData);
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

https://codepen.io/Whity/pen/KKNvKQq

\n

javascript

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

在validityState中搜索值

我可能会接近这个错误的方式,但我很困惑如何提取信息inputvalidityState对象.

var input = document.querySelector('#myinput');
var validity = input.validity;
var keys = Object.keys(validity);

console.log( validity );          // [ object validityState ]
console.log( validity.valid );    // false (this is expected)

console.log( keys )               // empty array
console.log( keys.length )        // 0
Run Code Online (Sandbox Code Playgroud)
<input type="text" id="myinput" required>
Run Code Online (Sandbox Code Playgroud)

我的主要问题是,如果我无法迭代validityState对象,如何找出哪个属性"失败" ?

我错过了什么吗?

javascript validation

3
推荐指数
1
解决办法
464
查看次数

Colorbox不是对象的方法

我正在修复leefest.org.uk上的一个错误,我无法让Colorbox工作.有多个人参与了这个项目,所以我为这个烂摊子道歉.它们是多个插件,具有多个文档就绪功能.

据我所知:

  • jQuery在colorbox之前加载
  • Colorbox调用之前正在加载Colorbox
  • colorbox调用在文档就绪函数内

任何人?leefest colorbox错误

html javascript colorbox

2
推荐指数
1
解决办法
1428
查看次数

如何优化多个Array.find()

我有 JSON:(它有太多行,但粘贴整个 json 太长)

"data": {
  "rows": [
      {
          "row_no": "130",
          "sum_begin_period": "3234122.29",
          "sum_end_period": "3099063"
      },
      {
          "row_no": "150",
          "sum_begin_period": "1252394",
          "sum_end_period": "986382"
      },
      {
          "row_no": "160",
          "sum_begin_period": "1321400.28",
          "sum_end_period": "1321400"
      },
      {
          "row_no": "210",
          "sum_begin_period": "3367691.4",
          "sum_end_period": "1282444"
      },
      {
          "row_no": "220",
          "sum_begin_period": "2320199.07",
          "sum_end_period": "265000"
      },
      {
          "row_no": "260",
          "sum_begin_period": "1047492.33",
          "sum_end_period": "1017444"
      },
      {
          "row_no": "610",
          "sum_begin_period": "825495.3",
          "sum_end_period": "960385"
      }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我需要进行一些数学运算,需要来自多行的值。我怎样才能优雅地做到这一点?
到目前为止我已经尝试过:
使用 Array.find():

let ccScore;
  for(const row of finance_report){

    const satr_390_1 = finance_report.find((row) …
Run Code Online (Sandbox Code Playgroud)

javascript arrays json node.js

2
推荐指数
1
解决办法
488
查看次数

jQuery:不是选择器和哈希符号语法错误

我收到一个可爱的语法错误.当我尝试选择所有锚标签而没有包含占位符URL的href时,即href="#".

我尝试过以下方法:

$("a:not(href='#')");

//swapped single with double quotes
$('a:not(href="#")');

// no quotes at all
$("a:not(href=#)");

// wildcard selector
$("a:not(href*=#)");
Run Code Online (Sandbox Code Playgroud)

并且所有这些都会导致以下错误:

未捕获错误:语法错误,无法识别的表达式:href =#(...)

有任何想法吗?


下面的代码段:

var $item = $("a:not(href='#')");
console.log($item);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a href="http://google.com">Selected</a>
<a href="#">Not selected</a>
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-selectors

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

在不实例化的情况下检查类是否是类的子类

假设我在 JavaScript 模块中有以下内容:

class A { ... }
class B extends A { ... }
class C extends B { ... }
Run Code Online (Sandbox Code Playgroud)

如何在不创建 C 实例的情况下确认 C 是 A 的后代?

register(B);
register(C);

register(obj) {
  // I need this test, but without the new call
  if (!new obj() instanceof A) {
     throw Error "Not a child";
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

背景:我正在尝试创建一个模块化工厂方法,该方法可以自动实例化正确子类型的对象,而无需对列表进行硬编码。我正在使用从定义子类的模块文件中调用的“静态寄存器(obj)”方法来执行此操作。这允许根应用程序导入任何所需的库,而模块本身不知道可用的库。作为额外的完整性检查,我想在将它添加到列表之前确保该类实际上是一个后代。

javascript ecmascript-6 es6-class

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

ES6类中的访问者组成

比方说,我有一个Thing,我想既类HideableOpenable.

使用类似于Douglas Crockford通过合成创建对象的方法,我已经能够从多个类"继承".

这种方法不适用于访问器(getter/setter).

我需要使用类,因为它是一个要求.我也发现我在类之间复制功能,但我不希望它们从基类继承.

有任何想法吗?

到目前为止我所取得的进展如下:

class Openable {

  constructor(isOpen = false) {
    this._isOpen = isOpen;
  }

  get isOpen() {
    return this._isOpen + ' is stupid.';
  }

  set isOpen(value) {
    this._isOpen = value;
  }

}


class Hideable {

  constructor(isHidden = false) {
    this._isHidden = isHidden;
  }

  get isHidden() {
    return this._isHidden + ' is stupid.';
  }

  set isHidden(value) {
    this._isHidden = value;
  }

}


class Thing {

  constructor(config) {
    let { …
Run Code Online (Sandbox Code Playgroud)

javascript class composition mixins ecmascript-6

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

使用包含特定字符串的ID销毁DIV

我有一些ID有'abc_chosen','danger_chosen'等ID的DIV.

我想在ID包含字符串'_chosen'时删除所有DIV.

我怎样才能做到这一点?

javascript css jquery

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