在页面上的几个bootstrap popovers中,我需要一个可滚动的

时间:2014-06-05 01:23:36

标签: javascript jquery html css twitter-bootstrap

我在页面上有很多引导弹出窗口,但第一个由带有id的触发器触发,我需要进行滚动(并且包含了js以使其保持打开状态),这在css中是微不足道的,但我还没有能够只制作那个特定的卷轴,其他的也是......:

.popover-content {
max-height: 100px;
overflow-y: auto;
}


$(document).ready(function() {

$("#scrollpop").popover({ trigger: "manual" , html: true})
  .on("mouseenter", function () {
      var _this = this;
      $(this).popover("show");
      $(".popover").on("mouseleave", function () {
          setTimeout(function () {
          if (!$(".popover:hover").length) {
              $(_this).popover("hide");
          }
      }, 100);
      });
  }).on("mouseleave", function () {
      var _this = this;
      setTimeout(function () {
          if (!$(".popover:hover").length) {
              $(_this).popover("hide");
          }
      }, 100);
  });

});
<a href="#" rel="popover" id="scrollpop">Text Here</a>

有没有办法做到这一点,而不是侵入性和IE8 / IE9浏览器的工作?

谢谢!

1 个答案:

答案 0 :(得分:0)

我只是在本地看一下,看起来Bootstrap在之后添加了弹出元素元素,在这个元素中你可以触发你的弹出窗口,例如。

$('#test').popover();

<span id="test">Hello world!</span>
<!-- popover gets generated here -->

因此,您可以使用CSS中的adjacent sibling selector来定位弹出容器元素是原始元素的直接跟随兄弟的事实。然后使用.popover-content选择器来定位弹出框容器的子元素(现在的示例):

/* target .popover-content elements that are children of .popover 
   elements that occur directly after the #scrollpop element       */

#scrollpop + .popover .popover-content {
    max-height: 100px;
    overflow-y: auto;
}

修改: updated fiddle