react将表格动态生成视频列表【代码】【案例】
只需要创建一个表格,id为videos,react就能将这个表格转换成视频列表,并点击自动播放
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/>
<title>react将表格动态生成视频列表</title>
<script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script>
<script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script>
<script src="http://211.140.7.173:8081/t/wuhairui/cnblogs/babel.min.js"></script>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<div id="cnblogs_post_body"><table id="videos" style="height: 144px; width: 959px;" border="0">
<tbody>
<tr>
<td>http://mgcdn.migucloud.com/vi0/333/1b/V0kGzvN3kWxqHKk95m/1bV0kGzvN3kWxqHKk95m.mp4</td>
<td>第1集</td>
</tr>
<tr>
<td>http://mgcdn.migucloud.com/vi0/333/2D/LsfgmnN0yrpsivlxiQh/2DLsfgmnN0yrpsivlxiQh.mp4</td>
<td>第2集</td>
</tr>
<tr>
<td>http://mgcdn.migucloud.com/vi0/333/2V/sJZ5f1fTbWm75aNGEYD/2VsJZ5f1fTbWm75aNGEYD.mp4</td>
<td>第3集</td>
</tr>
</tbody>
</table>
</div>
<script type="text/babel" src="index.jsx"></script>
</body>
</html>
index.jsx
var VideoButton = React.createClass({
getInitialState: function() {
var videosObj=$("#cnblogs_post_body table#videos");
var videos=[];
videosObj.find("tr").each(function(){
var url=$(this).find("td").eq(0).text();
var title=$(this).find("td").eq(1).text();
var videoobj={"url":url,"title":title};
videos.push(videoobj);
});
return {videos:videos,dqurl:videos[0].url,dqtitle:""};
},
buttonClick: function(url,title,e){
this.setState({dqurl:url,dqtitle:title});
var dqele=e.target;//当前dom节点
},
componentDidMount:function(){//第一次渲染完毕后调用
var player=this.refs.player;
$(player).find("video")[0].play();
},
componentDidUpdate:function(){//更新render后调用
var player=this.refs.player;
$(player).find("video")[0].play();
},
render: function() {
var width=document.body.clientWidth;
var height=width*3/4;
var _this=this;
var videos=this.state.videos;
return (
<div>
{
videos.map(function(v,i){
return (
<strong onClick={_this.buttonClick.bind(this,v.url,v.title)}>
<a>{v.title}</a>
</strong>
);
})
}
<div ref="player">
<video controls="controls" src={this.state.dqurl} width="320" height="240"></video>
</div>
</div>
);
}
});
ReactDOM.render(
<VideoButton />,
document.getElementById("videos")
);
如下,将一个表格转换成一个视频列表(多行2列的表格,第一列为视频url,第二列为视频标题):
| http://mgcdn.migucloud.com/vi0/333/3B/9taeJVeUof4po3bLIV/3B9taeJVeUof4po3bLIV.mp4 | 数码宝贝第五部 01 |
| http://mgcdn.migucloud.com/vi0/333/3K/fY03CiVcToJTGDodKGox/3KfY03CiVcToJTGDodKGox.mp4 | 数码宝贝第五部 02 |
react将表格动态生成视频列表【代码】【案例】的更多相关文章
- js动态生成数据列表
我们通常会使用table标签来展示数据内容,由于需要展示的数据内容是随时更换的,所以不可能将展示的数据列表写死在html写死在页面中,而是需要我们根据后台传来的数据随时更换,这个时候就需要我们使用js ...
- Delphi 如何在程序中执行动态生成的Delphi代码
如何在程序中执行动态生成的Delphi代码 经常发现有人提这类问题,或者提问内容最后归结成这种问题 前些阵子有位高手写了一个“执行动态生成的代码”,这是真正的高手,我没那种功力,我只会投机取巧. 这里 ...
- 如何在程序中执行动态生成的Delphi代码
如何在程序中执行动态生成的Delphi代码 经常发现有人提这类问题,或者提问内容最后归结成这种问题 前些阵子有位高手写了一个“执行动态生成的代码”,这是真正的高手,我没那种功力,我只会投机取巧. 这里 ...
- winform WebBrowser控件中,cs后台代码执行动态生成的js
很多文章都是好介绍C# 后台cs和js如何交互,cs调用js方法(js方法必须是页面上存在的,已经定义好的),js调用cs方法, 但如果想用cs里面执行动态生成的js代码,如何实现呢? 思路大致是这样 ...
- VUE动态生成table表格(element-ui)(新增/删除)
(直接复制即可测试) 结构(红色部分 data/prop/v-model 数据绑定): <template> <el-table size="small" :da ...
- cglib根据数据动态生成对象
最近有个任务:根据查询SQL直接导出报表 实现关键是,怎么根据sql查询的数据动态生成对象列表,想到Cglib动态代理实现 废话少说,上代码: 定义动态生成Java Bean类: import jav ...
- 动态生成CheckBox(Winform程序)
在做用户权限设置功能时,需要做一个动态生成权限列表的功能.(笔记.分享) //1.清空权限控件组的默认控件 panelPermissions.Controls.Clear(); _groupBoxLi ...
- Knockout结合Bootstrap创建动态UI--产品列表管理
本篇文章结合Bootstrap创建一个比较完整的应用,对产品列表进行管理,包括产品的增加.删除.修改. 需要的引用 <script type='text/javascript' src='htt ...
- jquery给动态生成的元素绑定事件,on函数
首先先解释一下什么是动态生成的元素:动态生成的元素即我们用jquery的内部插入函数append()所生成的html代码.相对的也有静态生成的元素:即直接编写在页面的html代码. 下面通过例子来讲解 ...
随机推荐
- hash值重写,就是以自己定义的规则来显示hash值
未重写hashCode值 重写hashCode后的值
- 虚拟货币ICO是什么意思 看完秒懂
有这样一个市场,与90年代的互联网泡沫及其相似,它被许多金融界大咖怒指为丧失道德底线的圈钱工具,更被投资者而疯狂追捧.是的,没错,它就是近二年火遍全球的虚拟货币ICO.那么,对于很多投资小白来说,虚拟 ...
- Py中re.sub学习【转载】
转自:https://www.crifan.com/python_re_sub_detailed_introduction/ //这个网址讲的不错. 1.re.sub的功能 re是regular ex ...
- LSTM输入层、隐含层及输出层参数理解【转载】
转自:https://blog.csdn.net/yyb19951015/article/details/79740869 //这个博客讲的挺不错的. http://www.newlifeclan.c ...
- Junit + String/Integer/ArrayList/HashMap/TreeMap 基本使用Demo
package JavaTest.test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; ...
- WINDOWS SERVER 2008远程桌面端口修改方法
微软默认的服务器远程端口是3389,这是被很多黑客利用的端口,如何修改掉了,下面我们来说方法很多朋友在使用WINDOWS操作系统的时候,都喜欢修改远程连接的默认端口.但是很多朋友由于修改端口的方法错误 ...
- 极限树(extraTree)总结
随机森林:是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定.随机森林对回归的结果在内部是取得平均但是并不是所有的回归都是取的平均,有些是取的和. 随机森林里的随机 极限树 ...
- git add -A -u . 的区别
git add -u:将文件的修改.文件的删除,添加到暂存区. git add .:将文件的修改,文件的新建,添加到暂存区. git add -A:将文件的修改,文件的删除,文件的新建,添加到暂存区.
- hessian 在spring中的使用 (bean 如 Dao无法注入的问题)
hessian的主要结构分客户端与服务端,中间基于http传输.客户端主要做的事情是把对远程接口调用序列化为流,并传输到服务端:服务端主要做的事情是把传输过来的流反序列化为对服务的请求,调用相应服务后 ...
- SVN windows内修改日志内容(错误解决)
在我的电脑是windows 7,使用TortoiseSVN客户端,选中代码目录,点击右键,选择<显示日志> 显示日志信息 修改原来的日志信息(在需要修改的版本的日志中点击鼠标右键,显示如下 ...