如何在圈子上悬停显示跨度?

时间:2013-06-21 09:42:33

标签: jquery html css3

我做了一个简单的网站: screenshot of website

我的问题是,当用户将鼠标悬停在小圈子span#te1上时,我希望打开灰色span#tre1和紫色span#punkt1

我正在寻找CSS3或jQuery的解决方案。如果这个过程有一点延迟也会很好。

我的HTML:

<span id="tre1"></span>
<span id="te1"></span>
<span id="punkt1"></span>

我的CSS:

#tre1 {
    position: absolute;
    top: 105px;
    left: 61.5%;
    width: 0;
    height: 0;
    border-bottom: 100px solid #CCC;
    border-right: 150px solid transparent;
}

#te1 {
    position: absolute;
    top: 205px;
    left: 61.5%;
    background-color: #939;
    width: 150px;
    height: 150px;
}

#punkt1 {
    position: absolute;
    top: 60px;
    left: 60%;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background-color: #4ec461;
}

2 个答案:

答案 0 :(得分:2)

考虑到你拥有所有必需的CSS,用于小小的cricles和灰色,紫色的图像..使用hover() ..

 $(function(){
   $('#te1,#tre1').hide();
   $('#punkt1').hover(function(){
      $('#te1,#tre1').show('slow');
   },function(){
      $('#te1,#tre1').hide('slow');
   });
 });

有点动画

 $('#te1,#tre1').stop().slideDown('slow'); //<--to show;
  $('#te1,#tre1').stop().slideUp('slow'); //<--to hide;

example fiddle here

但请确保您的单个元素具有相同的ID .Id应该始终是唯一的。看起来您有多个元素(小圆圈)具有相同的ID ..

答案 1 :(得分:1)

您可以将#tre1和#te1保持在这样的单独范围内,

<span class="punkt1">
    <span id="tre1"></span>
    <span id="te1"></span>
</span>

然后执行此操作

$("#punkt1").hover(function () {
    $(".punkt1").show(600);
}, function () {
    $(".punkt1").hide(600);
})

Test Link

<强>更新

是的,您可以在.delay()

之前添加.hide()

Test Link