首页 > 解决方案 > 如何仅在特定时间段内显示按钮?

问题描述

我正在一个 ASP.NET 网站上工作,我需要一个按钮来仅在指定的开放时间窗口内提交付款。该按钮应仅在 12 月 1 日至 1 月 31 日期间对客户可见,而在一年中的其余时间不可见。我该如何控制这个?

到目前为止,我已经起草了一个非常简单的 JS 函数。

function TimePeriod() {
    var now = new DateTime();

    if (now.Month == 1 || now.Month == 12) {
        $("#payBtn").css('display', 'visible');
    }
    else {
        $("#payBtn").css('display', 'hidden');
    }
}

我不确定我是否走在正确的轨道上/这是否足够,所以任何建议都会有所帮助。谢谢!

标签: javascriptjqueryasp.netasp.net-mvc

解决方案


不知道是什么new DateTime(),所以我假设你的意思是new Date()。您还需要使用.getMonth()该返回值0作为11结果。您可以使用.show().hide()

$(function() {
  function TimePeriod() {
    var now = new Date();

    if ((now.getMonth() + 1) == 1 || (now.getMonth() + 1) == 12) {
      $("#payBtn").show();
    } else {
      $("#payBtn").hide();
    }
  }

  TimePeriod();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style="border: 1px solid #000;">
  <button id="payBtn">Pay</button>
  &nbsp;
</div>

作为参考,在 CSS 中,display可以使用blockhidden不使用visible.

来源:https ://www.w3schools.com/cssref/pr_class_display.asp

希望有帮助。


推荐阅读