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:1466519819@qq.com

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

Atiend

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

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

    http://www.cnblogs.com/dazhao/p/6547811.html 摘要: Android 6.0之后的版本增加了运行时权限,应用程序在执行每个需要系统权限的功能时,需要添加权限 ...

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

    使用mac的朋友可能都有这样的疑问,mac系统下强大的文本编辑器居然不能保存常用的TXT格式? 又或者打开同事在windows上保存的TXT文件会出现如下情况: 最近Hans也被这些问题困扰着,于是便 ...

  3. 通达OA在centos系统中快速部署文档(web和数据库)

    通达OA2008从windows环境移植到linux中(centos5.5及以上版本) 如果安装好了,还是无法访问,则需要清空浏览器缓存即可 1.安装lamp环境,这里用的是xampp集成安装包xam ...

  4. linux 系统中将数据写入文档不能立即保存问题的解决方法

    应用场景: 设备跑的是Linux系统,与PC上位机进行通信,上位机可以给Linux发送设备配置信息,Linux将配置信息写入文件中以备设备断电重启时使用. bug现象: 设备正常运行,设备配置信息为A ...

  5. Python sphinx-build在Windows系统中生成Html文档

    看到前同事发布的“Markdown/reST 文档发布流水线”基于TFS.Docker.Azure等工具和平台进行文档发布的介绍说明,不得不在心中暗暗竖起大拇指.这套模式,实现了文档编写后版本管理.发 ...

  6. Linux系统下Java 转换Word到PDF时,结果文档内容乱码的解决方法

    本文分享在Linux系统下,通过Java 程序代码将Word转为PDF文档时,结果文档内容出现乱码该如何解决.具体可参考如下内容: 1.问题出现的背景 在Windows系统中,使用Spire.Doc ...

  7. Atitit vod ver 12 new feature v12 pb2 影吧 视频 电影 点播 播放系统v12新特性

    Atitit vod ver 12 new feature v12 pb2 影吧 视频 电影 点播 播放系统v12新特性 项目分离从独立的se ver Run mode from brow ex to ...

  8. atitit.vod search doc.doc 点播系统搜索功能设计文档

    atitit.vod search doc.doc 点播系统搜索功能设计文档 按键的enter事件1 Left rig事件1 Up down事件2 key_events.key_search = fu ...

  9. Atitit.vod 视频播放系统 影吧系统的架构图 架构体系 解决方案

    Atitit.vod 视频播放系统 影吧系统的架构图 架构体系 解决方案 1. 运行平台:跨平台 android ios pc mobile 1.1. -------------前端 界面------ ...

随机推荐

  1. Oracle学习指南

    Oracle学习指南 你走的那天,我决定不落泪,迎着风撑着眼帘用力不眨眼 创建数据库.创建用户.创建表空间.创建表.插入数据..... 1.用系统用户登录,任选系统用户 代码: >>sql ...

  2. python+eclipse环境搭建

    一.Eclipse 的安装 Eclipse的安装是很容易的.Eclipse是基于java的一个应用程序,因此需要一个java的运行环境(JRE)才行.(我这里主要介绍windows下的安装) JRE的 ...

  3. 【fortify】安全漏洞的分类

    https://vulncat.hpefod.com/zh-cn 下面摘要著名的软件安全专家Gary Mc Graw的2006年的新书<Software Security building se ...

  4. Sass的基本运算(转载)

    转载于:http://www.cnblogs.com/Medeor/p/4966952.html Sass中的基本运算 一.加法 在 CSS 中能做运算的,到目前为止仅有 calc() 函数可行.但在 ...

  5. DB_oracle学习笔记_概念分析

    概念分析: 1.       数据库(Database): 数据库是一个文件集合,包括数据文件,临时文件,重做日志文件和控制文件.也可以说数据库是物理操作系统文件或磁盘集合.数据库可以由多个实例(sc ...

  6. 使用Axure来仿真Vogue网站

    用户体验包括三部分:用户研究.视觉设计和交互设计.按顺序进行,在用户研究和视觉设计之后,开始交互设计,Axure是最好的交互设计的软件. Vogue是著名的奢侈品品牌,网站设计“高大上”,用Axure ...

  7. iOS 笔记

    1. 使用断言NSAssert()调试程序错误 NSAssert()只是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续 ...

  8. UICollectionView(集合视图)以及自定义集合视图

    一.UICollectionView集合视图           其继承自UIScrollView.         UICollectionView类是iOS6新引进的API,用于展示集合视图,布局 ...

  9. hdu 4698 - Counting(思路)

    转:题意:给定一个二维平面,其中x取值为1-N,y取值为1-M,现给定K个点,问至少包括K个点中的一个的满足要求的<Xmin, Xmax, Ymin, Ymax>共有多少中取值情况.也就是 ...

  10. centos 清理内存缓存

    读写文件时,Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这就是Cache Memory(缓存内存).即使程序运行结束后,Cache Memory也不会自动释放.这就会导致程序频繁读 ...