如果某些条件为真,如何只显示simpleTip?

时间:2011-03-18 16:08:49

标签: javascript jquery jquery-plugins simpletip

我正在开发我的第一个jquery项目,并对simpletip插件有疑问。我基本上有一个日历,用户可以点击不同的会议标题,相应的日期用特定的颜色着色。然后,当用户将鼠标悬停在该日期时,我将使用simpletip显示有关会议的更多详细信息。

我想要的是简单只显示单元格是彩色还是“打开”。当日历为空并且没有激活会议时,我不希望显示所有简单提示。

我尝试过使用带有.mouseover()的if语句 - 这首先起作用,当单元格关闭时,没有简单的提示。会议打开并着色后,第一次鼠标悬停不执行任何操作,然后第二次鼠标悬停显示简单提示,然后即使关闭单元格后,简单提示仍保持活动状态。

        $("#jan3").mouseover(function() {
           if ( meeting1 = "on" ) {
              $(this).simpletip({  
                 content: '<b>Meeting</b><br/>&nbsp;9:00-11:00<br/>&nbsp;Some Room'
              });
           }
        });

希望这有意义......请帮助!

提前谢谢

*编辑:以下是打开和关闭会议的其中一个按钮的示例...

$(".button1").click(function() {  
   if ( meeting1 == "off" ) {
      $(".meeting1").stop().animate({ backgroundColor: "#009460", color: "white" }, 1000);
      $(".meeting1").css("cursor", "pointer");
      plsc = 'on';
   }
   else {
      $(".meeting1").stop().animate({ backgroundColor: "white", color: "black" }, 1000);
      $(".meeting1").css("cursor", "default");
      plsc = 'off';
   }
});

1 个答案:

答案 0 :(得分:0)

我不熟悉simpleTip,但你所描述的情况很熟悉。

最简单的解决方案是使用类来表示打开/关闭哪些条目。并将您的simpletip函数注册到仅启用的那些。您可以使用jquery live让选择器自身更新状态

    $("#jan3.stateOn").live('mouseover', function() {
          $(this).simpletip({  
             content: '<b>Meeting</b><br/>&nbsp;9:00-11:00<br/>&nbsp;Some Room'
          });
    });

如果您的ID为jan3且该项目的类别为stateOn,则会触发此选择器。只要您编写代码以正确切换状态,jquery将负责触发正确的项目。