55

最初の鉛筆にカーソルを合わせると、ツールチップが表示されますが、非表示になっています。

すべてのツールチップが他のすべての上に表示されるようにするにはどうすればよいですか?

関連コード

$('.nav-text').on('click', null, function () {
    alert('heyo');
});
$('.nav-text').tooltip({
    'placement': 'right',
        'title': 'heyo'
});

完全な例

$('.down').click(function() {
  var $move = $('.side-study-box ul');
  $move.css({
    top: '-=20px'
  })
})

$('.up').click(function() {
  var $move = $('.side-study-box ul');
  $move.css({
    top: '+=20px'
  })
})


$('.nav-text').on('click', null, function() {
  alert('heyo');
});
$('.nav-text').tooltip({
  'placement': 'right',
  'title': 'heyo'
});
.side-study-box {
  background-color: white;
  color: black;
  border: 1px solid #3D6AA2;
  text-align: center;
  height: 160px;
  display: table !important;
  margin: 0px !important;
  margin-left: -1px !important;
}

.side-study-box .viewport {
  height: 120px;
  overflow: hidden;
  position: relative;
}

.side-study-box span {
  position: relative;
  width: 100%;
  font-size: 24px;
  display: table-cell;
  vertical-align: middle;
}

.side-study-box textarea {
  position: relative;
  height: 195px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin: auto;
  font-size: 18px;
  font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New;
  display: table-cell;
  vertical-align: middle;
  resize: none;
}

.side-study-box i {
  margin: 0px !important;
  padding-right: 1px;
}

.side-study-box .side-box-menu {
  border-right: 1px solid #335987;
  width: 28px;
  text-align: center;
  height: 100%;
}

.side-box-menu-nav {
  display: inline-block;
  cursor: pointer;
  text-decoration: none !important;
  margin: 0px;
  width: 100%;
  background-color: #3D6AA2;
  color: white;
}

.side-box-menu-nav:hover {
  background-color: #335987 !important;
  color: white !important;
}

.side-study-box ul {
  list-style-type: none;
  margin: 0px;
  margin-left: -1px !important;
  padding: 0px;
  padding-right: 2px;
  height: 100%;
  color: #335987;
  position: absolute;
  top: 0;
}

.side-study-box ul li {
  margin: 0px;
}

.side-study-box ul li :hover {
  color: black;
}

.side-study-box ul li a {
  padding-left: 3px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  margin: 0px;
  color: gray;
}

.side-study-box ul li a .side-box-menu-control {
  padding-top: 3px;
  height: 23px;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>

<div class="span4 side-study-box">
  <div class="side-box-menu"> <a class="side-box-menu-nav up"><i class="icon-chevron-up icon-white"></i></a>

    <div class='viewport'>
      <ul>
        <li><a class="side-box-menu-control"><i class="icon-facetime-video "></i></a>

        </li>
        <li><a class="side-box-menu-control"><i class="icon-picture"></i></a>

        </li>
        <li><a class="side-box-menu-control"><i class="icon-headphones "></i></a>

        </li>
        <li><a class="side-box-menu-control nav-text"><i class="icon-pencil "></i></a>

        </li>
        <li><a class="side-box-menu-control"><i class="icon-pencil "></i></a>

        </li>
        <li><a class="side-box-menu-control"><i class="icon-pencil "></i></a>

        </li>
        <li><a class="side-box-menu-control"><i class="icon-pencil "></i></a>

        </li>
        <li><a class="side-box-menu-control"><i class="icon-hdd"></i></a>

        </li>
        <li><a class="side-box-menu-control"><i class="icon-hdd"></i></a>

        </li>
        <li><a class="side-box-menu-control"><i class="icon-hdd"></i></a>

        </li>
      </ul>
    </div><a class="side-box-menu-nav down"><i class="icon-chevron-down icon-white"></i></a>
  </div>
</div>

4

8 に答える 8

73

fixed次のように、ツールチップの位置を に設定するだけです。

.tooltip {
    position: fixed;
}

実際のデモを見る

于 2013-05-31T17:58:38.443 に答える
29

これには使用しないでくださいposition: fixed。動作しているように見えますが、後で問題が発生します。

あなたの場合、最良のオプションは、ツールチップを本文に追加して(@machineaddict のコメントで言及されているように)、スクロール時に鉛筆に従うようにすることですが、これは固定された配置ではありません。

$('.nav-text').tooltip({
    placement: 'right',
        title: 'heyo',
    container: 'body' //<--- use the container option
});

ボックス全体が本文から独立してスクロールする場合でもcontainer: '.side-study-box'、ツールチップがそれに追従するように、より具体的に使用することもできます。divコンテナにposition: relative.

Diego's answerで述べたように、上記の任意のオプションをデータ属性として使用できます。

<a class="nav-text" 
   data-toggle="tooltip" 
   data-container=".side-study-box" 
   data-placement="right" 
   title="heyo">
    ...
</a>

オーバーフロー スクロールで div に続くツールチップ

元のスニペットの周りに divを追加し、.containerオーバーフロー時に強制的にスクロールできるように小さくしました。スクロールすると、鉛筆アイコンの後にツールチップが表示されます。

$('.nav-text').click(function() {
  console.log('heyo');
}).tooltip({
  placement: 'right',
  title: 'heyo',
  // follows the box even if it is scrolled within the container div.
  container: '.container',
});
.container {
  height: 100px;
  overflow: scroll;
  position: relative;
}
.side-study-box {
  background-color: white;
  color: black;
  border: 1px solid #3D6AA2;
  text-align: center;
  height: 160px;
  display: table !important;
  margin: 0px !important;
  margin-left: -1px !important;
}
.side-study-box .viewport {
  height: 120px;
  overflow: hidden;
  position: relative;
}
.side-study-box span {
  position: relative;
  width: 100%;
  font-size: 24px;
  display: table-cell;
  vertical-align: middle;
}
.side-study-box textarea {
  position: relative;
  height: 195px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin: auto;
  font-size: 18px;
  font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New;
  display: table-cell;
  vertical-align: middle;
  resize: none;
}
.side-study-box i {
  margin: 0px !important;
  padding-right: 1px;
}
.side-study-box .side-box-menu {
  border-right: 1px solid #335987;
  width: 28px;
  text-align: center;
  height: 100%;
}
.side-box-menu-nav {
  display: inline-block;
  cursor: pointer;
  text-decoration: none !important;
  margin: 0px;
  width: 100%;
  background-color: #3D6AA2;
  color: white;
}
.side-box-menu-nav:hover {
  background-color: #335987 !important;
  color: white !important;
}
.side-study-box ul {
  list-style-type: none;
  margin: 0px;
  margin-left: -1px !important;
  padding: 0px;
  padding-right: 2px;
  height: 100%;
  color: #335987;
  position: absolute;
  top: 0;
}
.side-study-box ul li {
  margin: 0px;
}
.side-study-box ul li :hover {
  color: black;
}
.side-study-box ul li a {
  padding-left: 3px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  margin: 0px;
  color: gray;
}
.side-study-box ul li a .side-box-menu-control {
  padding-top: 3px;
  height: 23px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>

<div class="container">
  <div class="span4 side-study-box">
    <div class="side-box-menu"><a class="side-box-menu-nav up"><i class="icon-chevron-up icon-white"></i></a>
      <div class='viewport'>
        <ul>
          <li><a class="side-box-menu-control"><i class="icon-facetime-video "></i></a>
          </li>
          <li><a class="side-box-menu-control"><i class="icon-picture"></i></a>
          </li>
          <li><a class="side-box-menu-control"><i class="icon-headphones "></i></a> 
          </li>
          <li><a class="side-box-menu-control nav-text"><i class="icon-pencil "></i></a> 
          </li>
          <li><a class="side-box-menu-control"><i class="icon-pencil "></i></a> 
          </li>
          <li><a class="side-box-menu-control"><i class="icon-pencil "></i></a> 
          </li>
          <li><a class="side-box-menu-control"><i class="icon-pencil "></i></a> 
          </li>
          <li><a class="side-box-menu-control"><i class="icon-hdd"></i></a> 
          </li>
          <li><a class="side-box-menu-control"><i class="icon-hdd"></i></a> 
          </li>
          <li><a class="side-box-menu-control"><i class="icon-hdd"></i></a> 
          </li>
        </ul>
      </div><a class="side-box-menu-nav down"><i class="icon-chevron-down icon-white"></i></a>
    </div>
  </div>
</div>

于 2016-04-20T17:40:51.317 に答える
-1

位置: 固定!重要; ここで機能しますが、場合によっては !important を忘れないでください。

于 2016-04-18T10:50:31.027 に答える