Atitit vod click event design flow  视频点播系统点击事件文档

Atitit vod click event design flow  视频点播系统点击事件文档

重构规划1

Click cate1

Click  mov4

重构规划

事件注册,与事件分发管理器分开

Click cate

Main.js line730

// --------------------------------------------

// UI interaction

// --------------------------------------------

$(document).live(‘click‘, function(e){

console.log(e, e.target);

key_events.enter($(e.target));

});

console.log(e, e.target);

When cliek

E:: mouseEvent

E.target==a.item.h2.hover

<a class="item h2 hover" href="javascript:void(0)" e="filter_by_cate" value="3"><img src="movietype/1.jpg"></a>

//ati p6a add recomm enterKey eventCallback

key_events.enter = function(curr){

curr = curr || $(get_curr_hover());

if (curr.hasClass(‘nav_tab‘)){

curr.parent().find(‘a‘).removeClass(‘selected‘);

curr.addClass(‘selected‘);

//     $(‘.activeview .movie_list‘).html($(‘script[name="‘ +curr.attr(‘e‘)+ ‘"]‘).text());

}

var e = curr.attr(‘e‘);

if (e){

// get history

key_events.backlast.data.push($(‘.activeview‘).html());

key_events[e] && key_events[e](e, curr);

}

};

var e = curr.attr(‘e‘);

e = "filter_by_cate", curr = [a.item.h2.hover, selector: "

Line397

//ati p89 add .beir  filter_by_cate yash empty

key_events.filter_by_cate = function(e, curr){

//ati p89

//e8=filter_by_cate

//curr=a.item.h2 hover

var value = curr.attr(‘value‘) || curr.text();

xhr.get_filter_by(e, value, function(data){

render.movie_list_normal(data);

load_finish_p89();

});

//ati p89 show the new bycate saerch mvs div .and hide the last div

setTimeout(function(){ key_events.filter_close_layer(); }, 300)

};

Line108

xhr.get_filter_by = function(f, value, fn, err){

var sql_t;

//ati p89  search by cate

if (f == ‘filter_by_cate‘){

threadLocalParamMap={};

threadLocalParamMap.fn=fn;

threadLocalParamMap.err=err;

threadLocalParamMap.xhr=xhr;

threadLocalParamMap.value=value;

//alert("get_posts_befor");

get_posts(threadLocalParamMap);

cms_api.js

function get_posts(paramJsonMap)

{

try{

var  sql_t = ‘material_type‘;

var xhr=paramJsonMap.xhr;

var fn=paramJsonMap.fn;

var err=paramJsonMap.err;

var value=paramJsonMap.value;

threadLocalParamMap.xhr=xhr;

threadLocalParamMap.fn=fn;

//com.attilax.api.imoveSqlExcutor.exe

if(window.location.host=="")  //cs envi

{

//todox pa6 param use naming params jsonfmt ..not use obj arr

//beir param1=xxx param2=xxx param3=xxx

var mp="$method=aaaCms.CmsImpLocalFileVer.list_nocache&$callback=get_posts_callback?m="+value;

// alert(mp);

HRE.exe(mp,get_posts_callback);

//var json=urlParams2json(param);

//sendNSCommand(json.method,param,callback);

//alert("sendNSCommand ok");

return;

}

xhr.req({http_param: ‘select  * from gv_material where ‘+[sql_t, ‘=‘, value].join(‘ ‘)+‘ order by material_description ‘ }, fn, err);

}catch(e)

{

showErr(e);

}

}

//ati pb28 search after list evenet

render.movie_list = function(data, style, err_txt){

data = data || {};

var rows = data.rows, r, o = [];

for (var i=0,j=rows.length; i<j; i++){

r = rows[i];

//paa

var img_src=‘/vdx/‘ +r.thumb;

if(inDesktopMode())

{

img_src= "file:///"+r.thumb;

}

//paa end

var html_str=‘<a class="item ‘ +(style||‘mv‘)+ ‘" href="javascript:void(0)" e="mv_detail" page_hint="‘+(i+1)+‘/‘+j+‘" mid="‘ +r.material_id+ ‘"><img class="img_item" _src="‘ +img_src+ ‘"><h3 class="b c"><span>‘ +r.material_description+ ‘</span></h3></a>‘;

//alert(r.material_id);

o.push(html_str);

}

var w = Math.max(((style==‘mv_tiny‘)?310:390) * o.length, 1000);

if (o.length <= 0) o.push(‘<h2>‘ +(err_txt||‘没有找到相关影片,请更换其他搜索条件。‘)+ ‘</h2>‘);

o.unshift(‘<div class="page_hint">‘+1+‘/‘+rows.length+‘</div><div class="movie_page clearfix" style="width:‘ +w+ ‘px">‘);

o.push(‘</div>‘)

$(‘.activeview .movie_list‘).append(o.join(‘‘));

render.set_movie_list_auto();

};

Click  mov

e = "mv_detail", curr = [a.item.mv.hover, selector: ""

//paa add recomm get_post(

//pb28 add recomm    detail item clien event  ,,get_movie_detail is invoke my detail_client() ,then callback

key_events.mv_detail = function(e, curr){

var mid = curr.attr(‘mid‘);

//alert(" item id:"+mid);

if (!mid)

{

xhr.get_movie_detail(mid, function(data){

xhr.get_movie_detail = function(mid, fn, err){

threadLocalParamMap={};

threadLocalParamMap.fn=fn;

threadLocalParamMap.err=err;

threadLocalParamMap.xhr=xhr;

//threadLocalParamMap.value=value;

get_post(mid);

};

/AtiPlatf_se/src_atibrow/com/attilax/movcms/CmsImpLocalFileVer.java

public Objectget_post_api(Object id)

Map m=(Map) get_post(id);

xhr.get_movie_detail(mid, function(data){

//alert(data);

//ati pb28  add try

try{

。。。。。

if(window.location.host=="")  //cs envi

{

get_post_intro(r.txt_file);

}

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:[email protected]

转载请注明来源: http://www.cnblogs.com/attilax/

Atiend

时间: 2024-10-11 03:50:14

Atitit vod click event design flow  视频点播系统点击事件文档的相关文章

【MYSQL】Mysql 设备选型与系统规划-实战参考文档-带附件-可下载

更多精彩内容尽在www.leonarding.com <Mysql 设备选型与系统规划> 引言:项目的设备选型是一项细腻而又艰巨的任务.因为它有一次性.不可更改.兼容性.扩展性.功能性.性能性.易用性等参数阀值来参照.例如我们的项目,首先要了解今年的设备采购预算有多少,如何分配的,分配下来每个项目大概有多少,按照预算标准进行分级.其次由于我们是金融企业采购范围是有所限制的,会有一个备选目录,上面列举了品牌.厂家.规格等信息,只能在这些目录中选择,如果设备有超出目录的需要写说明申请. 再次就需要

linux系统初始化& 优化总结文档

16条优化汇总 1-不用root管理,以普通用户的名义通过sudo授权管理 2-更改默认的远程连接ssh服务端口,22-->55113,禁止root用户远程连接,只监听内网ip(使用vpn,视情况而定) 3-定时自动更新服务器时间,使其和互联网时间同步 4-配置yum更新源,从国外更新源下载安装软件包 5-关闭selinux及防火墙(生产环境中,如果使用了外部ip一定要调整防火墙) 6-调整文件描述符的数量,进程及文件的打开都会消耗文件描述符 7-定时自动清理邮件目录垃圾文件,防止innodes

Android开发之深入理解Android 7.0系统权限更改相关文档

摘要: Android 6.0之后的版本增加了运行时权限,应用程序在执行每个需要系统权限的功能时,需要添加权限请求代码(默认权限禁止),否则应用程序无法响应:Android 7.0在Android 6.0的基础上,对系统权限进一步更改,这次的权限更改包括三个方面: APP应用程序的私有文件不再向使用者放宽 Intent组件传递file://URI的方式可能给接收器留下无法访问的路径,触发FileUriExposedException异常,推荐使用FileProvider DownloadMana

如何往linux 系统中添加帮助文档

第三方提供的库函数或者自己提供给别人的接口里,为了便于使用通常会提供帮助文档.那么该如何把把这些文档添加到linux 操作系统当中去,使得可以通过man 查看呢?下面以libaio的帮助文档为例,进进行实例说明. 在添加帮助文档到系统之前,可以看到man无法找到libaio相关函数的帮助文档: [[email protected] man]# man io_prep_pwrite No manual entry for io_fsync 为此,可以参考下面的命令进行添加: step 1. 下载得

【DAO】计费系统数据库设计简单文档

数据库的设计文档 数据库的设计文档,需要建表的sql语句. 1)  account  账务账户 id number(9) PK 账务账户ID login_name varchar2(20)not null 用户自服务用户名 login_passwd varchar2(8)  not null 用户自服务密码 status char(1) not null 0:开通 1:暂停被冻结 2:删除真实的数据很少删除 create_date      date not null  账务账户开通日期 pau

JcJc人工智能错别字校对系统企业版API接口文档

JcJc人工智能错别字校对系统1.1,在 2017-11-30日发布. 文稿校对是一件繁琐.复杂.工作量大.容易出现失误的工作.JcJc人工智能错别字校对系统就是为了帮助广大文字工作者解决这类问题的一个软件产品.基于语义分析的中文文本错误的自动侦测与纠错结合大数据的汉语校检,我们刻苦研发,目前校对水平正在日益满足各行业文字校对工作的广泛需求. 下面是 企 业版 最新版本的API说明文档: 未来版本的改动,以Github为准, 项目地址: https://github.com/textproofr

第三方支付系统简易版部署文档

一.前期准备1.MySQL数据库的安装:MySQL-5.6.22,自行安装2.Dubbo视频教程--基础篇--第03节--ZooKeeper注册中心安装3.Dubbo视频教程--基础篇--第06节--Dubbo管理控制台的安装4.Dubbo视频教程--基础篇--第10节--Dubbo监控中心的介绍与简易监控中心的安装5.持续集成管理平台(SVN.Nexus.Maven.Hudson)的安装:Dubbo视频教程--基础篇--第11节至18节 6.Dubbo视频教程--高级篇--第21节--Acti

#Mac技巧#如何在Mac系统上新建TXT文档,以及打开txt文稿的乱码问题如何解决

使用mac的朋友可能都有这样的疑问,mac系统下强大的文本编辑器居然不能保存常用的TXT格式? 又或者打开同事在windows上保存的TXT文件会出现如下情况: 最近Hans也被这些问题困扰着,于是便上网搜索了一下解决办法,特来给大家分享普及! 首先来说明一下 如何创建TXT文稿   我们平常打开mac的文本编辑器的时候是下面这个样子的此时按下shift?+command?+T就会变成下面这个情况 其实这个快捷键就是“菜单”--“格式”选项里面的”制作纯文本“快捷键 此时再次存储就是TXT格式了

centos6.5系统cacti监控部署文档

系统要求:本文中的Linux操作系统为CentOS 6.5,以下操作均以root执行. 环境描述: 操作系统            ip                      监控类别         软件 CentOs 6.5      监控ip      监控端     lnmp环境,cacti,snmp服务,rrdtool CentOs 6.5      *                         被监控端   snmp服务 注:lnmp环境和snmp服务安装不再赘述,按照要求