当悬停显示的元素时,IE会闪烁

时间:2013-05-14 20:23:59

标签: css internet-explorer

我有更糟糕的时间尝试制作仅标记解决方案,揭示我的社交媒体按钮。我有两个占位符按钮用于facebook和twitter,我想设置它,这样当用户将鼠标悬停在占位符上时,它会淡出并且分享按钮会淡入。

现在,我在所有好的浏览器中都能正常工作,但当然,IE(每个版本)都不喜欢它。当按钮会淡入时,任何鼠标移动都会导致它们闪烁,就像IE无法确定鼠标是否仍然悬停在悬停元素上一样。

这就是我的意思:

http://jsfiddle.net/cKKxF/

任何不想离开堆栈的人的代码:

   <div class="share-buttons-wrapper">
      <div class="buttons-wrapper">
        <div class="facebook share-button">F</div>
        <div class="twitter share-button">T</div>
        <div class="rendered-buttons">
            <div class="fb-like" data-send="false" data-width="450" data-show-faces="false"></div>
            <a href="https://twitter.com/share" class="twitter-share-button"></a>
        </div>
      </div>
    </div>

.share-buttons-wrapper{
    float:left;
    border-left:1px solid #dfdfdf;
    height:75px;
    width:55px;
    padding-left:20px;
    position:relative;
}


    .share-buttons-wrapper > .buttons-wrapper
    {
        cursor:pointer;

(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=196749420435782";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');

我很想在这里失去它。我怎样才能做到这一点?

另外 - 我也尝试过jQuery,因为我很沮丧,但似乎将鼠标移动到共享按钮(iframes)会破坏它。所以我猜js似乎iframe的内容在悬停元素之外?我不知道。

1 个答案:

答案 0 :(得分:0)

添加这个额外的脚本似乎解决了这个问题。 http://jsfiddle.net/David_Knowles/SmEqd/

$(".buttons-wrapper").hover(
    function () {
$(".rendered-buttons").css("visibility","visible");
    },
    function () {
$(".rendered-buttons").css("visibility","hidden");
    }
);

Js冒泡可以很方便