使用css

时间:2016-07-25 15:40:51

标签: javascript jquery css flot

当我的鼠标不在网格的范围内时,我试图隐藏我在jQuery Flot图中创建的垂直条。我为网格设置了水平边界:horizontalBounds = [leftOffset, plot.width() + leftOffset];。然后我使用if语句说"如果鼠标在垂直范围内,请执行verticalBar.css。"

if (position.pageX >= horizontalBounds[0] && position.pageX <= horizontalBounds[1]) {
            if (typeof verticalBar !== "undefined" && verticalBar !== null) {
              verticalBar.css({
                transform: "translate(" + position.pageX + "px, 0px)"
              });
            }

下面是我的css代码(实际上是在我的javascript文件中;不要问......)。当鼠标不在那些水平范围内时,我需要做什么才能隐藏verticalBar?我以为我可以添加属性`visibility:hidden&#39;到verticalBar.css,但我无法弄清楚如何做到这一点。任何提示?

verticalBar.css({
              backgroundColor: "#F7E4E6",
              width: "1px",
              height: "100%",
              position: "absolute",
              padding: 0,
              margin: 0,
              left: 0,
              transform: "translateX(" + plot.getPlotOffset().left + "px)"
            });
          }

3 个答案:

答案 0 :(得分:0)

尝试使用“display:none;”在你的CSS中。

答案 1 :(得分:0)

根据您想要隐藏栏的方式,您可以拥有像display: none这样简单的内容。

如果您想添加一些动画,可以使用一些jQuery函数来控制该特定节点。

您还可以利用一组CSS类名称交换来触发一些CSS动画。

答案 2 :(得分:0)

所以这些方法似乎都不适合我。我最终发现Flot有一个十字准线插件(flot.crosshair)。十字准线可以配置为仅在x轴/ x坐标上起作用,因为它跟踪鼠标的移动。以下是运行中的十字准线跟踪示例:Flot Tracking Example。 添加插件后,我就能获得理想的结果;因为“垂直条”仅在光标位于网格上时显示。以下是配置它所需要做的所有事情(除了将插件添加到适当的文件中)。希望这可以帮助将来的某个人。

 plot = $.plot(
                placeholder
                data
                grid:
                    clickable: true
                    hoverable: true
                    color: "white"
                    mouseActiveRadius: 1000
                tooltip:
                    show: true
                    content: '%y'

                crosshair:
                    mode: "x"
                    color: "#FFFFFF"
                    lineWidth: 1