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. <<UML大战需求分析>>阅读笔记(2)

    <<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...

  2. log4j向oracle中插入一条系统当前时间的sql语句

    配置log4j,要向oracle插入一条系统当前时间的sql语句,按网上查找的总是出现各种各样的报错,最后总结出的写法是: ### shezhi### log4j.rootLogger = debug ...

  3. mvc之文件下载

    首先你要有四张图片,也就是数组中的数 public ActionResult Index()//创建视图{ViewBag.list =new int[] { 5, 6, 7,8 };return Vi ...

  4. Sublime无法使用package control安装插件

    我之前想通过安装sftp,但是出现了这个问题,百度了很久才解决.东西也是从网上找的,现总结下:   网上说什么安装个新的,我也是简直醉了,其实新的并不好使. 但是,我们最好安装个新的,再继续下面的操作 ...

  5. ArcGIS Engine10.2如何安装在 VisualStudio2013 开发环境下

    所谓工欲善其事必先利其器,10.2中的ArcObject SDK for Microsoft .Net Framework只能支持VS2010和VS2012环境. 那么如何在VS2013下安装呢? 准 ...

  6. 无状态的web应用

    无意间看到这个话题,随便看了下 觉得有点意思.比较零散,记录一下. 1. http协议无状态. 简单的理解:每一个http请求都是独立的.不会因为前一个请求的失败就影响到下一个请求.既不会影响前面的, ...

  7. 了解及使用IPV6

    1. 什么是 IPv6 IPv6指互联网协议(IP)第6版.目前大家上网主要使用互联网协议第四版,即IPv4. 在全球互联网高度发展的今天,IPv4 地址资源已经枯竭,互联网正在经历从IPv4网络向I ...

  8. React Native填坑之旅--重新认识RN

    如同黑夜里的一道光一样,就这么知道了F8. F8是每年一次Facebook每年一次的开发者大会.每次大会都会release相应的APP,iOS.Android都有.之前都是用Native开发的,但是2 ...

  9. 一步一步安装hive

    安装hive 1.下载hive-0.11.0.tar.gz,解压; 2.下载mysql-connector-java-5.1.29-bin.jar并放到hive/lib/下: 3.配置hive/con ...

  10. Main()

    P25 “每一个c#可执行文件都必须有一个入口——Main()方法” 我一直对这个Main()方法有一些疑问. 那就是这里头的参数. 在JAVA里,main(String args[])中的参数是绝对 ...