反饋已提交
網絡繁忙
在一些大型的展示屏上,目前靜態的圖文展示已滿足不了市場需求,有時候可能需要實現一些動態圖文展示效果,例如跑馬燈滾屏效果,那麼要如何透過帆軟報表來實現呢?預期效果如下:
1)豎屏捲動:
2)橫屏捲動:
3)不規則橫屏捲動:
注:在決策報表中,也可以直接使用官方提供的插件:捲動訊息元件
可以透過儲存格的純 HTML 展示效果來實現。
若想實現首位相接的滾屏效果可參考:JS實現首尾相接的跑馬燈
建立普通報表,建立一個內建資料集 Embedded1,只新增一個欄位,自訂一些正文資料,如下圖所示:
將資料集中的資訊欄位拖至 D4 儲存格,並設定擴展方向為不擴展。設計表格樣式如下圖所示:
右擊 D 列將其隱藏。
選中 B4 儲存格,按滑鼠右鍵選擇「儲存格元素>插入公式」,公式如下:
"<marquee id='affiche' align='left' behavior='scroll' bgcolor='#ffffff' direction='up' height='250' width='400' hspace='0' vspace='2' loop='-1' scrollamount='10' scrolldelay='100' onMouseOut='this.start()' onMouseOver='this.stop()'>" + REPLACE(D4, ",", "<br /><br />") + "</marquee>"
注:公式是為了將 D4 儲存格的內容連結到 HTML 語句中。REPLACE(D4, ",", "<br/><br/>") 意思是將 D4 儲存格內容中的 "," 更換成"<br/><br/>",<br /><br />在 HTML 中表示「換行」。
只需要將上面的公式修改為:
"<marquee id='affiche' style='text-align:center;' behavior='scroll' behavior='scroll' bgcolor='#ffffff' direction='up' height='250' width='400' hspace='0' vspace='2' loop='-1' scrollamount='10' scrolldelay='100' onMouseOut='this.start()' onMouseOver='this.stop()'>" + REPLACE(D4, ",", "<br /><br />") + "</marquee>"
表示元素的垂直對齊方式
值可以是 top,middle,bottom,默認為 middle
表示新增樣式
text-align:center; 表示正文水平置中
vertical-align:middle; 表示正文垂直置中
display:table-cell; 表示讓標籤元素以表格儲存格的形式呈現
表示捲動的方式
scroll 表示連續捲動
slide 表示滑動一次
alternate 表示來回捲動
表示運動區域的背景
值是 16 進制的 RGB 顏色,預設為白色
表示捲動的方向
值可以是 left,right,up,down,預設為 left
表示運動區域的高度
值是正整數(單位是像素)或百分數
表示運動區域的寬度
表示元素到區域邊框的水平距離
值是正整數,單位是像素
表示元素到區域邊框的垂直距離
表示循環的次數,值是正整數
loop='-1' 表示為無限循環
表示運動速度,值是正整數
預設為 6
表示停頓時間,值是正整
預設為 0,單位是毫秒
選中 B4 儲存格,將「儲存格屬性>其他」顯示內容設定為「用 HTML 顯示內容」,如下圖所示:
選中 C4、D4 儲存格,右擊選擇其他,選擇「不自動調整」.
儲存報表,點選「分頁預覽」,效果與 1.1 節豎屏捲動效果一致。
App 端和 HTML5 端均支援捲動效果,但不支援透過滑鼠行動使其暫停並繼續捲動的效果,如下圖所示:
將資料欄拖至 A1 儲存格,並設定擴展方向為「不擴展」,右擊 A 列將其隱藏,表格樣式如下圖所示:
在 B2 儲存格插入公式:
"<marquee id='affiche' style='text-align:center;display:table-cell;vertical-align:middle;' behavior='scroll' bgcolor='#ffffff' direction='left' height='100%' width='500%' hspace='0' vspace='2' loop='-1' scrollamount='10' scrolldelay='100' onMouseOut='this.start()' onMouseOver='this.stop()'>" + REPLACE(A1, ",", " ") + "</marquee>"
注:公式參數解譯請參考 2.3.3 節。
選中 B2 儲存格,設定「儲存格屬性>其他」,選擇「基本」下「不自動調整」,顯示內容設定為「用 HTML 顯示內容」,如下圖所示:
儲存報表,點選「分頁預覽」,可以看到正文從右往左,垂直置中捲動,效果與 1.1 節橫屏捲動效果一致。
將資料欄拖入 A3 儲存格,並設定其擴展方向為「縱向擴展」,表格樣式如下圖所示:
最後將 A 列隱藏。
在 B3 儲存格插入公式:
"<marquee id='affiche' align='left' behavior='scroll' bgcolor='#ffffff' direction='left' height='250' width='400' hspace='0' vspace='2' loop='-1' scrollamount='"+(rand()*(11-1)+1)+"' scrolldelay='100' onMouseOut='this.start()' onMouseOver='this.stop()'>" + REPLACE(A3, ",", "<br />") + "</marquee>"
其中scrollamount='"+(rand()*(11-1)+1)+"' 表示生成一個位於 11 和 1 之間的隨機數,作為運動速度的值。
選中 B3 儲存格,設定「儲存格屬性>其他」,選擇「基本」下「不自動調整」,顯示內容設定為「用 HTML 顯示內容」,如下圖所示:
儲存報表,點選「分頁預覽」,效果與 1.1 節不規則橫屏捲動效果一致。
已完成範本可參見:
%FR_HOME%\webroot\WEB-INF\reportlets\demo\form\以html實現縱向跑馬燈特效.cpt
%FR_HOME%\webroot\WEB-INF\reportlets\demo\form\以html實現橫向跑馬燈特效.cpt
%FR_HOME%\webroot\WEB-INF\reportlets\demo\form\以html實現不規則橫向跑馬燈特效.cpt
點選下載範本:
以html實作縱向跑馬燈特效.cpt
以html實作橫向跑馬燈特效.cpt
以html實現不規則橫向跑馬燈特效.cpt
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙