如果满足条件,则使用JQuery添加元素的链接

And*_*ill 7 html javascript css jquery sharepoint-2013

我是HTML,CSS和JavaScript的新手.我试图使用jQuery使按钮处于活动或非活动状态,具体取决于一天中的时间.在定义了时间(d),open时间和close时间后,我设法让图像正确更改.但是,根据一天中的时间,我无法为按钮分配链接.

如果时间介于open和之间,则此代码正确应用类close.ButtonOne只有ManagersChatButtonActive在JSFiddle中应用类时,它才正确地将链接应用于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");
    }
});
Run Code Online (Sandbox Code Playgroud)

Aar*_*nco 2

确保在就绪或加载时将方法包装在文档的 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");
  }
})
Run Code Online (Sandbox Code Playgroud)

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");
  }
})
Run Code Online (Sandbox Code Playgroud)

  • jQuery 文档就绪在 SharePoint 环境中并不总是按预期工作。请参阅:[SharePoint 2013 在整个页面加载后添加 javascript](http://stackoverflow.com/questions/16936250/sharepoint-2013-add-javascript-after-whole-page-load) (2认同)