2013-01-15 1 views
3

기본적으로이 주제 (http://stackoverflow.com/questions/9662576/social-media-buttons-inside-hidden-div)와 동일한 문제가 발생했지만 포스터는 공유하기 전에 코드를 스크랩했습니다. 나는 누군가가 해결책을 찾길 바랬습니다.숨겨진 div 내의 Twitter Follow 버튼 누르기

숨겨진 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 : 버튼을 가정 할 때 어딘가 바닥 글에 다음 트위터 버튼 코드 DIV 래퍼 : 나는 1 × 1 (숨겨진 오버 플로우)을 보여 결국

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

표시하려면 래퍼를 원하는 위치로 이동하고 오버플로를 설정하십시오. 표시

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)