【问题标题】:Changing greeting based on screensize根据屏幕大小更改问候语
【发布时间】:2020-08-03 13:40:06
【问题描述】:

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

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

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

有什么帮助吗?

祝你有美好的一天,

漫游者

【问题讨论】:

    标签: jquery-terminal


    【解决方案1】:

    最简单的方法是添加 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,如果您想要与问候相同的行为。

    【讨论】:

      猜你喜欢
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 2014-11-02
      • 2020-11-22
      • 2017-06-29
      • 1970-01-01
      相关资源
      最近更新 更多