2013-01-15 56 views
3

我已经基本遇到了与此主题相同的问题(http://stackoverflow.com/questions/9662576/social-media-buttons-inside-hidden-div),但作为海报在分享前报废了我希望有人会有解决方案。加载Twitter按钮隐藏div内的按钮

我在一个隐藏的div中加载了一组社交媒体图标,这些隐藏div在徘徊时变得可见。这个问题似乎是因为Follow按钮被加载在一个隐藏的div中,它不会追加@username,而只是显示“Follow”。

任何帮助,将不胜感激!

这应该重现您的问题;

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; 
} 
+1

提供一些重现此问题的示例代码。 –

+0

添加示例代码,请参阅编辑 – kallekillen

+2

这里是[fiddle](http://jsfiddle.net/pMrUP/),显示问题 – marty

回答

0

我最终显示的1x1(和溢出:隐藏),DIV包装与Twitter按钮代码某处在页脚,然后当按钮被认为要显示,只需移动包装到所需的位置并设置溢出:可见

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)