0

我想知道如何根据屏幕大小更改问候语。目前它在较小的屏幕上看起来不太好。

我不擅长 jQuery/JS,所以我使用 if 语句来检查宽度并根据它更改问候语。问题在于它仅在页面加载时才会这样做。我希望每次尺寸更新时都会改变它。

在本网站底部的演示中,问候语会根据屏幕的宽度而变化。

有什么帮助吗?

祝你今天过得愉快,

漫游者

4

1 回答 1

1

最简单的方法是添加 onInit 和 echo 函数,这些函数将在调整大小时发生的每次重绘时调用:

term.echo(function() {
    return new Array(this.cols()).fill('-').join('');
});

这将创建始终为终端全宽的线。如果您准备了多个问候语,那么您可以使用 if 语句创建函数并使用您想要的问候语返回适当的字符串,这就是创建默认问候语的方式。

函数内部的 this 将与终端实例相同,而 cols 是返回每行字符数的方法。

所以整个代码(如果你没有登录)应该是这样的:

$('body').terminal(..., {
    greetings: false, // disable default greetings
    onInit: function() {
        this.echo(function() {
            return new Array(this.cols()).fill('-').join('');
        });
    }
});

如果您使用登录,则需要使用onAfterLogin而不是onInit如果您想要与问候相同的行为。

于 2020-08-03T15:22:12.740 回答