【发布时间】:2020-08-03 13:40:06
【问题描述】:
我想知道如何根据屏幕大小更改问候语。目前它在较小的屏幕上看起来不太好。
我不擅长 jQuery/JS,所以我使用 if 语句来检查宽度并根据它更改问候语。问题在于它仅在页面加载时才会这样做。我希望每次尺寸更新时都会更改它。
在this website底部的演示中,问候语会根据屏幕的宽度而变化。
有什么帮助吗?
祝你有美好的一天,
漫游者
【问题讨论】:
标签: jquery-terminal
我想知道如何根据屏幕大小更改问候语。目前它在较小的屏幕上看起来不太好。
我不擅长 jQuery/JS,所以我使用 if 语句来检查宽度并根据它更改问候语。问题在于它仅在页面加载时才会这样做。我希望每次尺寸更新时都会更改它。
在this website底部的演示中,问候语会根据屏幕的宽度而变化。
有什么帮助吗?
祝你有美好的一天,
漫游者
【问题讨论】:
标签: jquery-terminal
最简单的方法是添加 onInit 和 echo 函数,这些函数将在 resize 时发生的每次重绘时调用:
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,如果您想要与问候相同的行为。
【讨论】: