當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

JS實現暫停和繼續輪播報表

1. 概述

1.1 問題描述

在開發大屏報表的時候,有時會讓多張大屏輪播,在特定的情況下能停止輪播。如下圖所示,兩張報表輪播,當鼠标移入報表時,停止輪播。

222

1.2 解決思路

可以通過 JavaScript 延時函數使頁面在規定時間後執行跳轉到另一不同頁面來實現輪播,JS事件中加上鼠标移入移出停止輪播的語句。

2. 示例

2.1 準備模板

1)新建一個決策報表:01-JS 實現暫停和繼續輪播 frm 報表 2.frm,保存到%FR_HOME%\webapps\webroot\WEB-INF\reportlets\表單JS實例路徑下。

2)新建數據集 ds1,SQL語句爲:SELECT * FROM 銷量

3)在 body 中拖入兩個報表塊,如下圖所示設置報表樣式。

image.png

2.2 添加事件

選中 report0 控件,添加初始化後事件,如下圖所示:

事件内容爲固定事件内跳轉 01-JS實現暫停和繼續輪播frm報表2.frm 報表,到當把鼠标移到 report0 标題報表塊時,停止輪播,鼠标移開後,又繼續輪播。

image.png

JavaScript 代碼如下:

function time({
timer = setTimeout(function({
window.location.href = encodeURI(encodeURI("${contextPath}/decision/view/form?viewlet=doc/JS/表單JS實例/01-JS實現暫停和繼續輪播frm報表2.frm")); //要輪播的報表url
}, 2000); //輪播間隔
}
time();
setTimeout(function({
//這裏的控件名要全用大寫
$("[widgetname=REPORT0]").mouseover(function({
clearTimeout(timer);
})
$("[widgetname=REPORT0]").mouseleave(function({
time();
})
})
顯示代碼

2.3 輪播模板

在 %FR_HOME%\webapps\webroot\WEB-INF\reportlets\表單JS實例 路徑下再新建一個決策報表:01-JS實現暫停和繼續輪播frm報表2.frm

同樣的方法設計報表樣式,添加事件跳轉到 01-JS實現暫停和繼續輪播frm報表1.frm" ,JS代碼基本不變,只需要将事件中 的URL 需要改爲如下代碼即可。

"${contextPath}/decision/view/form?viewlet=表單JS實例/01-JS實現暫停和繼續輪播frm報表1.frm"

2.4 效果預覽

保存模板,點擊「PC端預覽」,PC 端效果如下圖所示:

222

注:不支持移動端。

3. 模板下載

已完成的模板,可參見:

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表單JS實例\01-JS實現暫停和繼續輪播frm報表1.frm

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表單JS實例\01-JS實現暫停和繼續輪播frm報表2.frm

點擊下載模板:

01-JS實現暫停和繼續輪播frm報表1.frm

01-JS實現暫停和繼續輪播frm報表2.frm

附件列表


主題: 原簡體文檔
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

8s後關閉

反饋已提交

網絡繁忙