美文网首页
EPGEvent使用文档

EPGEvent使用文档

作者: fengfancky | 来源:发表于2022-11-10 16:08 被阅读0次

用于处理EPG开发中的焦点移动、事件监听回调、页面滚动、焦点路径记忆等。

强制要求
类名:item
id格式:如area0_0

处理焦点移动思路
遍历查找出指定方向(遥控器方向键所指方向)上与当前焦点元素最合适(按照指定规则)的元素,并将该元素设置为焦点元素。

焦点与暗焦点
焦点用于展示EPG中用户通过遥控器操作选中的元素,通常使用高亮或特殊的样式来区别展示。在本EPGEvent组件中,设置item类的元素可以获得焦点。在css中使用focus类来设置元素获取焦点后的样式,如:

.floatEPG .item.focus{
    color: white !important;
    background: linear-gradient(116deg,rgba(230,115,0,1)0%,rgba(237,154,0,1)100%);
}

获得焦点的元素的子元素,通过如下设置:

.floatEPG .item.focus .name{
    color: white !important;
}

.floatEPG .item.focus .num{
    color: white !important;
}

结合使用!important来覆盖其他样式设置

暗焦点用于特别标识用户选择的分类、栏目等,用于提示用户展示的子分类、列表、页面等与该项存在联系。使用第三种样式来区别展示,不同于默认样式和焦点样式。

方式一:使用select类(适合单个元素)

//css
.floatEPG .item.select{
    color: red;
}
//...
//js
EPGEvent.selectViewFun:function(view)  //指定元素设置暗焦点
EPGEvent.unSelectViewFun()//清除暗焦点

方式二:使用dark类,与焦点路径记忆功能联合使用。(适合多分类)

//css
.floatEPG .item.dark {
    color:rgba(230,115,0,1);
}
//...
//js
EPGEvent.setOpenFocusMemory(true);//开启路径记忆

两种方式不建议同时使用


指定焦点(特殊处理)
给元素设置nextXXXFocusId属性,支持html和js两种方式

html方式:

<div class = "item" id="area0_0" nextLeftFocusId = "area0_1"><div/>

js方式:

view.setAttribute("nextLeftFocusId ","area0_1");

共5种这类属性:

nextLeftFocusId:向左
nextUpFocusId:向上
nextRightFocusId:向右
nextDownFocusId:向下
nextNoFocusId:禁止移动

使用
EPGEvent为window的对象,可直接调用,如:EPGEvent.initFocus($("area0_0"))。

1.焦点初始化、

//初始化焦点
initFocus:function(view)

2.初始化页面居中滚动

  /**
   * 初始化页面居中滚动
   * @param {是否居中滚动} isScrollCenterMode1 
   * @param {容器到页面顶部的距离} viewMargin1 
   * @param {容器长度} contentD1 
   * @param {滚动元素ID} scrollId1 
   * @param {区域标示} flag1
   * @param {页面长度} pageHeight1
   */
  initFocusData:function(isScrollCenterMode1,viewMargin1,contentD1,scrollId1,flag1,pageHeight1)

多个需居中滚动列表调用示例:

    EPGEvent.initFocusData(true, 110, 500, "scroll", "area2_", 750);
    EPGEvent.initFocusData(true, 0, 720, "vodScroll", "area3_",80*20);

3.页面需滚动到指定元素初始化焦点

//初始化页面时的初始化焦点
initPageFocus:function(view)

4.获取居中滚动列表信息

//获取滚动列表信息
getScrollContents:function()

5.获取当前焦点元素

//获取当前焦点元素
getCurrentEle:function()

6.清除焦点元素

clearCurrentEle:function()

7.清除焦点状态

blurFocus:function()

8.设置焦点移动模式

 //MODE_MIN_DISTANCE :0,默认,就近模式
 //MODE_LEFT :1,左模式
 //MODE_NO_BOUNDARY :2,无界模式
  setFocusMode:function(mode)

调用示例:

EPGEvent.setFocusMode(EPGEvent.MODE_NO_BOUNDARY);

9.开启焦点路径记忆

//b 布尔值
setOpenFocusMemory:function(b)

10.是否保留焦点路径

//b 布尔值
isSaveNeedLoop:function(b)

11.元素列表是否动态刷新

//b 布尔值
setDynamicQuery:function(b)

12.焦点拦截

//intercept 布尔值
setInterceptOnce:function(intercept)

13.焦点拦截回调

//fun 回调函数
interceptFocusCallback:function(fun)

14.创建区域

//flags 区域标示数组,如:["area0_"];
//返回区域对象数组
createArea:function(flags)

示例:

var areas = EPGEvent.createArea(["area0_","area1_"]);

区域监听示例:

//点击事件监听
areas[0].clickListener = function(view,num){}

//进入区域监听
areas[0].enterAreaListener = function(view,num){}

//退出区域监听
areas[0].exitAreaListener = function(view,num){}

//获取焦点监听
areas[1].focusListener = function(view,num){}

//失去焦点监听
areas[1].blurListener= function(view,num){}

15.获取焦点路径

getFocusPath:function()

16.添加蒙层

mask:function()

17.移除蒙层

removeMask:function()

18.监听焦点得失事件

  /**
   * 监听焦点的得失状态
   * @param {获得焦点} fun1 
   * @param {失去焦点} fun2 
   */
  addFocusListener:function(fun1,fun2)

19.监听点击事件

//fun 回调函数
onEnter:function(fun)

20.监听方向键

//fun 回调函数
addDIRListener:function(fun)

21.监听返回键

//fun 回调函数
backEvent:function(fun)

22.监听音量键

//fun静音回调、fun1音量加回调、fun2音量减回调
volumeEvent:function(fun,fun1,fun2)

23.菜单键

//fun 回调函数
menuEvent:function(fun)

24.按键监听

//fun 回调函数
actionEventListener:function(fun)

相关文章

  • EPGEvent使用文档

    用于处理EPG开发中的焦点移动、事件监听回调、页面滚动、焦点路径记忆等。 强制要求类名:itemid格式:如are...

  • Bootstrap-Table 插件

    Bootstarp-Table 插件文档 | 使用或下载文档 安装使用注意 文档的使用bootstarp插件方法很...

  • flutter 数据持久化

    shared_preferences使用文档 使用方法:(根据使用文档) 项目代码:

  • Ant Design Pro 框架使用篇(持续更新)

    文档 官网地址官网使用文档 正文 1. 安装 & 使用 安装官网文档参考地址 - 安装 使用官网文档参考地址 -...

  • 使用文档

    嵌套规则 Sass允许将一套CSS样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器,例如: 编译为 ...

  • Java MongoDB插入

    本文介绍3中插入文档的方法。 1. 使用Document插入文档 2. 使用Map插入文档 3. 使用JSON插入...

  • 如何使用Word主控文档功能

    如何使用Word主控文档功能 使用Word提供的主控文档功能,可以将长文档拆分成多个子文档进行处理,从而提高文档的...

  • 安利这个工具,支持多种方式分享word/excel/PPT文档!

    推荐直接使用腾讯文档,使用腾讯文档就可以将文档已二维码形式分享,腾讯文档是在线文档,word、excel、PPT都...

  • scrapy 爬虫

    scrapy 官方文档 scrapy的信号量文档使用 scrapy的扩展文档使用 scrapy统计数据收集 安装:...

  • 在Python中读取Excel数据

    使用文档

网友评论

      本文标题:EPGEvent使用文档

      本文链接:https://www.haomeiwen.com/subject/amgotdtx.html