2014-09-24 164 views
2

我需要在div中顯示fb分享按鈕。此div最初被display:none css屬性隱藏。在IE當fb-分享按鈕處於隱藏div時,該按鈕不顯示,並且當顯示div時按鈕繼續隱藏。隱藏div中的Facebook分享按鈕

我試圖等待按鈕加載後隱藏div但我沒有成功。

這是我的代碼: Master.Page:

<div id="fb-root"> 
</div> 

<script> 

    (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/es_ES/sdk.js#xfbml=1&appId=536816803117001&version=v2.1"; 
     fjs.parentNode.insertBefore(js, fjs); 
    } (document, 'script', 'facebook-jssdk')); 
</script> 

的節目內容和按鈕的代碼:

.SP_PublicacionesSeccionOff 
{ 
    display:none; 
    float:left; 
    width:529px; 
} 
.SP_PublicacionesSeccionOn 
{ 
    display:block; 
    float:left; 
    width:529px; 
} 

<div id="SP_PublicacionesCapsula1" class="SP_PublicacionesSeccionOff"> 
       <ul class="SinTipo SinMarginSinPadding"> 
        <% for (Int16 i = 0; i < drInformes.Count; i++) 
         {%> 
        <li class="SP_PublicacionesSeccionItem"> 
         <dl class="SP_PublicacionesSeccionItemTexto"> 
          <dt><a class="SP_PublicacionesTitulo" href="../SalaPrensa/PublicacionesEstudioCasos.aspx?Est_Id=<%=drInformes[i]["Est_Id"].GetInt()%>&Est_Tipo=1" title="enlace a <%=drInformes[i]["Est_Titulo"].GetPublishString(40)%>"> 
           <%=drInformes[i]["Est_Titulo"].GetPublishString()%></a></dt> 
          <dd class="SinMarginSinPadding"> 
           <%=drInformes[i]["Est_Resumen"].GetPublishHtml()%></dd> 
         </dl> 
         <a href="../SalaPrensa/PublicacionesEstudioCasos.aspx?Est_Id=<%=drInformes[i]["Est_Id"].GetInt()%>&Est_Tipo=1" title="acceder a la información completa de <%=drInformes[i]["Est_Titulo"].GetPublishString(40)%>"> 
          <img alt="icono de acceso a la información completa de <%=drInformes[i]["Est_Titulo"].GetPublishString(40)%>" src="../_img/<%=Tools.RecursosCarpeta(this)%>Flecha.png" class="SP_PublicacionesEstudiosFlecha" /></a> 
         <div style="clear: both"> 
          &nbsp;</div> 
         <!--twitter--> 
         <div style="float: left; width: 90px;"> 
          <a href="https://twitter.com/share" class="twitter-share-button" data-lang="en" data-url="<%= GetUrl(drInformes[i]["Est_Id"].GetInt(), 1)%>" data-counturl="<%= GetUrl(drInformes[i]["Est_Id"].GetInt(), 1)%>" data-text="<%=drInformes[i]["Est_Titulo"].GetPublishString()%>">Tweet</a> 
         </div> 
         <!--facebook--> 
         <div style="height: 20px!important; float: left; margin-top: 1px; display: block!important;"> 
          <div class="fb-share-button" data-href="<%= GetUrl(drInformes[i]["Est_Id"].GetInt(), 1)%>" data-type="button_count"> 
          </div> 
         </div> 
        </li> 
        <% }%> 
       </ul> 
      </div> 

的申報單顯示Øhidding的風格

最後顯示或隱藏代碼JS:

function AbrirDesplegable(Contenedor, SeccionEnlace, Identificador, Flecha) { 

var contenedor = new Object(); 
var desplegable = new Object(); 
var flecha = new Object(); 
var seccion = new Object(); 

contenedor = document.getElementById(Contenedor); 
desplegable = document.getElementById(Identificador); 
flecha = document.getElementById(Flecha); 
seccion = document.getElementById(SeccionEnlace); 

if (desplegable.className == 'SP_PublicacionesSeccionOn') { 
    seccion.className = 'SP_PublicacionesSeccionTextoLinkOff'; 
    flecha.src = '../_img/Flecha[Off].gif'; 
    desplegable.className = 'SP_PublicacionesSeccionOff'; 
} 
else { 
    seccion.className = 'SP_PublicacionesSeccionTextoLinkOn'; 
    flecha.src = '../_img/Flecha[On].gif'; 
    desplegable.className = 'SP_PublicacionesSeccionOn'; 
} 

} 
+0

你可以添加你有什麼? – RyPope 2014-09-24 12:15:58

回答

1

你可能需要使其可見後解析按鈕:

FB.XFBML.parse(); 

的更多信息:https://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse

此外,還要確保你在哪裏使用社交插件的網頁是公開的,不僅可在密碼保護區後面使用。

+0

我試過了,不起作用 – andriuch 2014-09-25 10:55:08

+0

是你的網頁直播嗎? - 用於測試,因爲它必須是live/public才能讓facebook社交插件正常工作。 – luschn 2014-09-25 11:12:36

+0

不,我的網頁在開發網站,但其他按鈕不隱藏divs正常工作,如果我在Chrome上運行該頁面,按鈕顯示。 – andriuch 2014-09-25 12:53:51