反饋已提交
網絡繁忙
在進行一些集團新聞內容展示時,可能需要一種首尾相接的跑馬燈捲動效果,如下圖所示:
儲存格中新增 html 程式碼,用 html 顯示內容,再配合 JS 實現捲動效果。
開啟%FR_HOME%\webroot\WEB-INF\reportlets\demo\form\以html實現縱向跑馬燈特效.cpt報表
1)選中 B3 儲存格,新增公式:"<div id=\"demo\" style=\"height:300px;overflow:hidden;\"> <div id=\"indemo\" style=\"height:200%;\"> <div id=\"demo1\"> <br />" + REPLACE(D3, ",", "<br /><br />") + "<br /><br /> </div> <div id=\"demo2\"></div> </div> </div>"
注1:公式中使用 replace 函式將 D3 儲存格的內容連接到 HTML 語句中,如果資料內容不在 D3 儲存格,需要修改。
注2:公式中的 demo,demo1 ,demo2 會在後面 JavaScript 中引用,請不要改名稱。
2)隱藏 D 列。
選中剛新增公式的 B3 儲存格,在「儲存格屬性>其他 」位置,勾選「不自動調整」,將「顯示內容」設定為「用 HTML 顯示內容」,如下圖所示:
點選選單「範本>範本 Web 屬性>分頁預覽設定」,選擇「為該範本單獨設定」,新增「載入結束」事件,如下圖所示:
JavaScript 程式碼如下:
setTimeout(function(){ speed = 50; //捲動速度 var tab = document.getElementById("demo");//外層可視模組 var tab1 = document.getElementById("demo1");//內層捲動內容模組1var tab2 = document.getElementById("demo2");//內層捲動內容模組2 無縫對接到1後面的內容tab2.innerHTML = tab1.innerHTML;//仿製品demo1為demo2tab.scrollTop = tab1.offsetHeight;//建立一個捲動函式,當捲動至demo1與demo2交界時,demo跳到最頂端function Marquee(){ if (tab.scrollTop >= tab1.offsetHeight) { tab.scrollTop-=tab2.offsetHeight; }else{ tab.scrollTop+=1; }}var MyMar=setInterval(Marquee,speed);},1500);//隱藏頭尾空白行setTimeout(function(){ document.getElementById("r-1-0").style.height=0;},100);
儲存報表,點選「分頁預覽」,跑馬燈效果如下圖所示:
建立決策報表,新增絕對畫布塊與報表塊,報表塊 report0 中內容設定方法同普通報表,參考普通報表範例,不再詳述,如下圖所示:
選中報表塊 report0,新增「初始化後」事件,如下圖所示:
跑馬燈不需要定時重新整理
跑馬燈需要定時重新整理
var form = this.options.form;setInterval(function() {form.getWidgetByName('report0').gotoPage(1, "{}", true);//重新整理報表塊,report0為報表塊的元件名稱$(".loading-ec-indicator").eq(0).remove();//移除重新整理載入圖片$(".text-indicator").remove();//移除正在載入文字setTimeout(function() {speed = 50; //捲動速度 var tab = document.getElementById("demo");//外層可視模組 var tab1 = document.getElementById("demo1");//內層捲動內容模組1var tab2 = document.getElementById("demo2");//內層捲動內容模組2 無縫對接到1後面的內容tab2.innerHTML = tab1.innerHTML;//仿製品demo1為demo2tab.scrollTop = tab1.offsetHeight;//建立一個捲動函式,當捲動至demo1與demo2交界時,demo跳到最頂端function Marquee() {if (tab.scrollTop >= tab1.offsetHeight) {tab.scrollTop -= tab2.offsetHeight;} else {tab.scrollTop += 1;}}var MyMar = setInterval(Marquee, speed);}, 1000);}, 5000);
儲存範本,點選「PC端預覽」,捲動不重新整理效果如下圖所示:
儲存範本,點選「PC端預覽」,捲動同時重新整理效果如下圖所示:
1)普通報表已完成範本可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\分頁預覽JS實體\JS實現跑馬燈效果一.cpt
點選下載範本:JS實現跑馬燈效果一.cpt
2)決策報表已完成範本可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表單JS實體\JS實現跑馬燈效果二.frm
點選下載範本:JS實現跑馬燈效果二.frm
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙