2013-01-15 55 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)