小编wjv*_*vic的帖子

带有 transitionend 事件的错误未正确删除 CSS 类

我最近一直在学习更多的 JavaScript,因为我将在即将到来的实习中大量使用它。公司推荐了很多不同的资源给我看,但我的一个朋友也推荐了这个网站:

https://javascript30.com/

我决定试一试,昨天开始了第一个项目,它是一个 JavaScript 架子鼓。

所以整个项目并不难,但我注意到发生了一个小错误。因此,该项目将一个“keydown”事件侦听器附加到几个不同的 HTML 元素,这些元素在按下任一 ASDFGHJKJL 时触发。除了播放声音之外,侦听器还为元素附加了一个类,为按下的键增加了一点效果。

为了移除这个类,我们在元素上附加了一个 transitionend 监听器。因此,当按下键后 CSS 属性完成转换时,类将被删除,图形在浏览器中恢复正常。

现在,如果您缓慢按下按键,它就可以正常工作。但我注意到,如果你按住一个键一两秒钟,看起来好像添加的类永远不会被删除并且图形是永久的。然后我检查了控制台,注意到 transitionend 事件一旦像那样卡住就永远不会触发。

这是来自完成文件的代码。

function removeTransition(e) 
{
    if (e.propertyName !== 'transform') 
       return;
    e.target.classList.remove('playing');
}

function playSound(e) 
{
    const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
    const key = document.querySelector(`div[data-key="${e.keyCode}"]`);
    if (!audio) 
      return;

    key.classList.add('playing');
    audio.currentTime = 0;
    audio.play();
}
Run Code Online (Sandbox Code Playgroud)

这就是我们附加 transitionend 侦听器的方式,不确定这是否与它有关

const keys = Array.from(document.querySelectorAll('.key'));
keys.forEach(key => key.addEventListener('transitionend', removeTransition));
Run Code Online (Sandbox Code Playgroud)

所以我们在 removeTransition 函数中加入了 if 循环,这样它就不会删除每个正在转换的属性的类,但我注意到当你删除 if 循环时,页面工作得很好。

所以我不完全确定 transitionend 事件发生了什么,以及为什么它一旦像那样卡住就完全停止触发。而且,为什么它在 if 循环被删除时有效。也许当它循环遍历所有属性时,它有更多机会删除该类?没有线索。想知道这里是否有人可能知道发生了什么。

编辑:

我稍微改变了 playSound 函数,试图找到它的底部。

function playSound(e)
{ …
Run Code Online (Sandbox Code Playgroud)

html javascript css

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

使用DynamoDB检索表中的所有项目

我目前在Web服务类中,对于我正在进行的项目,我决定使用.NET Core平台创建Web API,将DynamoDB作为数据库.

到目前为止,让Dynamo使用.NET Core有点困难,因为我似乎找不到太多关于让两者一起工作的文章.我目前停留在如何从特定表中检索所有项目.

我一直在阅读Dynamo文档,并决定使用Object Persistence模型.

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();

        services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
        services.AddAWSService<IAmazonDynamoDB>();
    }
Run Code Online (Sandbox Code Playgroud)

我在Startup文件的Configure Services方法中注入DynamoDB上下文.然后我像这样将它注入控制器

    DynamoDBContext context;
    public ValuesController(IAmazonDynamoDB context)
    {
        this.context = new DynamoDBContext(context);
    }
Run Code Online (Sandbox Code Playgroud)

同样,我绝不是这两种技术的专家,所以如果有更好的方法,请告诉我.

我还有一个我从DynamoDB文档中获得的简单模型.

[DynamoDBTable("AnimalsInventory")]
public class Item
{
    [DynamoDBHashKey]
    public Guid Id { get; set; }
    [DynamoDBRangeKey]
    public string Type { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在这篇文章中

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBContext.QueryScan.html

它说你可以使用Query/Scan方法从数据库中检索项目,但不幸的是,.NET Core平台不支持这些方法.在.NET Core上,它们被称为QueryAsync和ScanAsync,我想也许我可以在没有任何参数的情况下调用该方法,它只会检索表中的任何项目,但这不起作用.看起来这个方法特别适用于某些扫描条件,所以我不确定我是否使用了错误的方法,或者是否无法从表中检索任何和所有项目.

c# amazon-web-services amazon-dynamodb .net-core

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

寻找 Opensea NFT 底层

有没有办法获得 NFT 收藏主页上显示的底价?

在此输入图像描述

这里你看到底价是 5.75,但如果我使用 Opensea api 查询合约:

url = "https://api.opensea.io/api/v1/asset/0x1cb1a5e65610aeff2551a50f76a87a7d3fb649c6/1/"

response = requests.request("GET", url)

print(response.text)
Run Code Online (Sandbox Code Playgroud)

我得到的楼层是:

在此输入图像描述

所以看起来 api 有点不对劲。只是好奇这里是否有人知道更好的方法来获得更准确的底价?

ethereum nft opensea

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

在.NET Core中注入DynamoDBContext实例的最佳方法

目前正在为我的课程从事Web服务项目,并已决定使用.NET Core和DynamodDB创建Web API。

我只是很好奇注入的最佳方法DynamoDBContext是什么?

我目前正在这样做:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();

    services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
    services.AddAWSService<IAmazonDynamoDB>();
}
Run Code Online (Sandbox Code Playgroud)

我从DynamoDB文档中获得了这段代码。我将一个实例添加IAmazonDynamoDB到项目中。

DynamoDBContext context;
public ValuesController(IAmazonDynamoDB context)
{
    this.context = new DynamoDBContext(context);
}
Run Code Online (Sandbox Code Playgroud)

然后,在控制器中,注入IAmazonDynamoDB实例,并使用该实例创建的实例DynamoDBContext

有没有办法在该ConfigureServices方法中创建上下文实例并将其添加到那里的项目中,或者我目前正在做的方式还可以吗?

c# dependency-injection amazon-dynamodb .net-core

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