2011-08-02 4 views
1

私は3つのポートレット、たとえばportletA,portletBおよびportletCを持っています。別のポートレット内のリンクをクリックすると、ポートレットの表示と非表示が切り替わります

portletA左側に表示され、2つのリンクlinkBlinkCがあります。

linkBに私をクリックすると、その後portletBが右側に表示されなければならないと私はlinkCをクリックした場合、portletBが非表示にならなければならないとportletCが表示されるはずです。

ICEfacesを使用してこれを行う方法を教えてください。

答えて

1

シンプルなjavascriptとcssで行うことができます。あなたがしなければならないのは、ポートレットBとCのポートレットIDが何であるかを見ることです。また、javascriptを使用するよりも、ポートレット境界divのCSSの「表示」プロパティーを変更することができます。 jQueryの

jQuery("p_p_id_YOUR-PORTLET-ID_").show(); 
//or 
jQuery("p_p_id_YOUR-PORTLET-ID_").hide(); 

例を使用して、簡単なJavaScriptの

var p = document.getElementById("p_p_id_YOUR-PORTLET-ID_"); 
if (p) { 
    if (p.style.display == "none") { 
    p.style.display = "block"; 
    } else { 
    p.style.display = "none"; 
    } 
} 

を使用して

は、単一のポートレットを表示/非表示のためのものです。あなたの場合、リンクBはCを隠してBを表示し、Cを別の方法でリンクする必要があります。

またClient-side Inter-Portlet Communication

2

を見て、私は、ポートレットを非表示にするこのコードを使用するが、ページを更新した後、再びポートレット表示されますが、私は、ポートレットをリフレッシュした後に見えないように、何ができるかを提案することができますか?

 function fun(E) 
     { 

      if(E=="Entry") 
       { 
      alert("hi"); 

       document.getElementById("p_p_id_ipc_WAR_IPC2portlet_").style.display='none'; 
       document.getElementById("p_p_id_ipc1_WAR_IPC2portlet_").style.display = ''; 



       } 

      else 
       { 
       alert("else"); 
       } 

      } 

    </script> 
関連する問題