3

我基本上遇到了与这个主题相同的问题(http://stackoverflow.com/questions/9662576/social-media-buttons-inside-hidden-div),但是由于海报在分享之前废弃了代码,我希望有人会有一个解决方案。

我正在一个隐藏的 div 中加载一组社交媒体图标,这些图标在悬停时变得可见。问题似乎是,当关注按钮加载到隐藏的 div 中时,它不会附加 @username,而只是显示“关注”。

任何帮助将不胜感激!

这应该为您重现问题;

HTML:

<li><a class="menu">Menu Item</a>
<ul id="blah-menu">
<a href="https://twitter.com/twitter" class="twitter-follow-button" data-show-count="false" data-dnt="true">Follow @twitter</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</ul>
</li>

CSS:

nav li ul#blah-menu {
display: none;
z-index: 99999 !important;
}

nav li:hover ul#blah-menu {
display: block;
height: auto;
position: absolute;
z-index: 1;
}
4

2 回答 2

0

我最终在页脚某处显示了带有 twitter 按钮代码的 1x1(和溢出:隐藏)div 包装器,然后当应该显示按钮时,只需将包装器移动到所需位置并设置溢出:可见

于 2015-05-11T12:20:53.493 回答
0

我有类似的问题。我使用 setinterval 解决了它。

var twitterListener = setInterval(function(){
  if(jQuery("#yourDiv").is(":visible")){
    clearInterval(twitterListener)
    if (typeof window.twttr == "undefined") {
      window.twttr = (function (d,s,id) {
          var t, js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) return; js=d.createElement(s); js.id=id;
          js.src="https://platform.twitter.com/widgets.js";
          fjs.parentNode.insertBefore(js, fjs);
          return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
      }(document, "script", "twitter-wjs"));
    }

    twttr.ready(function (twttr) {
        twttr.events.bind('click', function (event) { 
          //
        });
        twttr.events.bind('follow', function(event) {
            //
        });
        twttr.events.bind('tweet', function(event) {
            //
        });        
    }); 
  }
},10)  
于 2015-06-09T12:24:39.080 回答