代码之家  ›  专栏  ›  技术社区  ›  juju

如何通过定位内部HTML按钮标记“数据内容”来自动淡出popover()。

  •  0
  • juju  · 技术社区  · 7 年前

    data-content

    <script type="text/javascript">
        $(function () {
          $('[data-toggle="popover"]').popover()
        })
    
        setTimeout( function () {
            $('[data-content="item added"]').hide('fade')     
        }, 2000)
    
    </script>
    
    <button type="button" class="btn btn-lg btn-danger" data-toggle="popover" data-animation="true" title="Popover title" data-content="item added">Click to toggle popover</button>
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   MajiD    7 年前

    这应该有效。

    $('[data-toggle="popover"]').popover({
        delay: { "show": 1000, "hide": 2000 },
        trigger: 'hover'
    })
    
        2
  •  1
  •   Steve Mulvihill    7 年前

    下面是一种方法,它使用jquery为工具提示创建一个新的dom元素,并使用 .fadeOut() .tooltip-trigger title 属性以在页面上获得相同的效果。

    $('.tooltip-trigger').hover(function(){
      
    
    var title = $(this).attr('title');
      $(this).data('tipText', title).removeAttr('title');
      $('<p class="tooltip"></p>')
             .text(title)
             .appendTo('body')
             .fadeIn('slow');
    }, function() {
      $(this).attr('title', $(this).data('tipText'));
      $('.tooltip').remove();
    });
    
    $('.tooltip-trigger').mousemove(function(e) {
      var mouseX = e.pageX + 20; //Get X coords
      var mouseY = e.pageY + 10; //Get Y coords
      $('.tooltip').css({ top: mouseY, left: mouseX })
    });
    
    $('.tooltip-trigger').click(function(e) {
      $('.tooltip').fadeOut( "slow" );
    });
    .tooltip {
      display:none;
      position:absolute;
      background-color:#ffff94;
      border: 1px solid grey;
      border-radius:5px;
      padding:2px;
      font-size: 12px;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <button type="button" class="btn btn-lg btn-danger tooltip-trigger" title="Popover title">Click to toggle popover</button>

    fiddle