javascript - 如果满足条件,使用 JQuery 添加指向元素的链接

标签 javascript jquery html css sharepoint-2013

我对 HTML、CSS 和 JavaScript 非常陌生。我正在尝试使用 jQuery 根据一天中的时间使按钮处于事件状态或非事件状态。在定义现在时间 (d)、open 时间和 close 时间后,我设法让图像正确更改。但是,我在根据一天中的时间为按钮分配链接时遇到问题。

如果时间在 openclose 之间,此代码会正确应用类。仅当在 JSFiddle 中应用 ManagersChatButtonActive 类时,它还正确地将链接应用到 ButtonOne div。但是,在 SharePoint 中,即使不满足时间条件,也会应用该链接。

如何让链接仅在满足“if”条件时应用?

(这是我第一次使用 Stack Overflow,如果布局或解释不当,请见谅)。

$(document).ready(function() {
    var d = new Date();
    var open = new Date();
    open.setHours(9);
    open.setMinutes(0);
    open.setSeconds(0);

    var close = new Date();
    close.setHours(18);
    close.setMinutes(0);
    close.setSeconds(0);

    if (d >= open && d < close) {
        $(".ButtonOne").addClass("ManagersChatButtonActive");
        $(".ButtonOne").wrap('<a href="http://www.google.com"/>');
    } else {
        $(".ButtonOne").addClass("ManagersChatButtonInactive");
    }
});

最佳答案

请确保将您的方法包装在 JQuery 语法中,以便文档准备就绪或加载时如下所示:

$(function(){
  var d = new Date()

  var open = new Date();
  open.setHours(9);
  open.setMinutes(0);
  open.setSeconds(0);

  var close = new Date();
  close.setHours(18);
  close.setMinutes(0);
  close.setSeconds(0);

  if (d >= open && d < close) {

    $(".ButtonOne").addClass("ManagersChatButtonActive");
    $(".ButtonOne").wrap('<a href="http://www.google.com"/>');
  } else {
    $(".ButtonOne").addClass("ManagersChatButtonInactive");
  }
})

https://jsfiddle.net/aaronfranco/3xwhoh10/1/

使用 getTime() 来使用 UNIX 时间戳(它是一个数字)而不是日期字符串可能更有意义。

$(function(){
  var d = new Date().getTime();

  var open = new Date();
  open.setHours(9);
  open.setMinutes(0);
  open.setSeconds(0);
  open = open.getTime()

  var close = new Date();
  close.setHours(18);
  close.setMinutes(0);
  close.setSeconds(0);
  close = close.getTime()

  if (d >= open && d < close) {

    $(".ButtonOne").addClass("ManagersChatButtonActive");
    $(".ButtonOne").wrap('<a href="http://www.google.com"/>');
  } else {
    $(".ButtonOne").addClass("ManagersChatButtonInactive");
  }
})

关于javascript - 如果满足条件,使用 JQuery 添加指向元素的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36406529/

相关文章:

javascript - React Functional Component + TypeScript 函数重载怎么写?

javascript - jQuery - 如何使水平拆分器显示在中间,即使屏幕已重新调整大小时

html - 如何使用我自己的向下箭头图标制作 <select> 元素?

javascript - HighCharts 和 idTabs - 图表宽度设置不正确

javascript - 带有 Chrome 的 AngularJS 不显示 Mp4 视频

javascript - 带有 Twitter Bootstrap 的移动 javascript 框架

javascript - 如何使用 jQuery 更改文本框值?

javascript - 是否可以停止当前正在执行的 Javascript 代码?

javascript - 引用另一个 .html 文件中的标签

php - 按时间戳条目聚合和可视化 SQLite 数据库中的条目