时间:2024-10-15 09:26:49
阅读量:0
迅睿CMS实现点击视频在弹窗中浏览播放的方法非常简单,新手小白都可以实现。
方法一、CMS内置方法实现
第一步:
模板中引用系统JS函数类文件
<script src="{THEME_PATH}assets/js/cms.js" type="text/javascript"></script>
第二步:开始调用
调用方法:
<a href="javascript:dr_preview_video('视频地址')"> 点击弹窗查看视频 </a>
示例1:列表循环中实现
{module catid=$catid order=updatetime page=1} <li class="col-3"> <a title="{$t.title}" href="javascript:dr_preview_video('{dr_get_file($t['videofile'])}')"> 点击弹出层播放视频 </a> </li> {/module}
就这么简单,已经实现了
效果如下图所示:
但它有个缺点:
弹窗大小是固定的,点击空白区域无法关闭,而且会显示视频URL地址,因为这个内置方法主要用于后台的视频查看。
那么就有了完美的方法二
方法二:自定义方法
优点,可自定义宽度与高度,自适应移动端,点击视频外阴影区域可关闭。
1、在模板中添加这段JS:
看不懂没关系,直接复制使用即可:
<script> // 弹出层显示视频 function dr_popup_video(file, w, h) { var width = w+'px'; var height = h+'px'; var vw = w-40; if (is_mobile_cms == 1) { width = '90%'; height = 'auto'; var vw = '100%'; } layer.alert('<div style="text-align: center"> <video class="video-js vjs-default-skin" controls="" preload="auto" width='+vw+'><source src="'+file+'" type="video/mp4"/></video>\n</div>', { //scrollbar: false, shadeClose: true, title: '', area: [width, height], btn: [] }); } </script>
2、调用方法:
<a href="javascript:dr_popup_video('视频地址',宽度,高度)"> 点击弹窗查看图片 </a>
示例1:
以单文件字段上传视频为例:
<a title="{$t.title}" href="javascript:dr_popup_video('{dr_get_file($t['videofile'])}',800,500)"> 点击弹出层查看视频 </a>
完整示例2:
列表循环中:
{module catid=$catid order=updatetime page=1} <li class="col-md-4 search-item clearfix"> <div class=" text-center"> <a title="{$t.title}" href="javascript:dr_popup_video('{dr_get_file($t['videofile'])}',800,500)"> <img src="{dr_thumb($t.thumb, 100, 90)}" width="100" height="90" style="margin-top: 15px;"> </a> <h4 class="search-title"> <a title="{$t.title}" href="{$t.url}">{$t.title}</a> </h4> <p class="search-desc">{dr_strcut($t.description, 80)}</p> </div> </li> {/module} <script> // 弹出层显示视频 function dr_popup_video(file, w, h) { var width = w+'px'; var height = h+'px'; var vw = w-40; if (is_mobile_cms == 1) { width = '90%'; height = 'auto'; var vw = '100%'; } layer.alert('<div style="text-align: center"> <video class="video-js vjs-default-skin" controls="" preload="auto" width='+vw+'><source src="'+file+'" type="video/mp4"/></video>\n</div>', { //scrollbar: false, shadeClose: true, title: '', area: [width, height], btn: [] }); } </script>
效果如下图所示:
欢乐时刻,二种一起使用对比下效果
{module catid=$catid order=updatetime page=1} <li class="col-md-4 search-item clearfix"> <div class=" text-center"> <a title="{$t.title}" href="javascript:dr_preview_video('{dr_get_file($t['videofile'])}')"> 方法一:点击弹出层播放视频 </a> <a title="{$t.title}" href="javascript:dr_popup_video('{dr_get_file($t['videofile'])}',800,500)"> 方法二:点击弹出层播放视频 </a> <h4 class="search-title"> <a title="{$t.title}" href="{$t.url}">{$t.title}</a> </h4> <p class="search-desc">{dr_strcut($t.description, 80)}</p> </div> </li> {/module} <script> // 弹出层显示视频 function dr_popup_video(file, w, h) { var width = w+'px'; var height = h+'px'; var vw = w-40; if (is_mobile_cms == 1) { width = '90%'; height = 'auto'; var vw = '100%'; } layer.alert('<div style="text-align: center"> <video class="video-js vjs-default-skin" controls="" preload="auto" width='+vw+'><source src="'+file+'" type="video/mp4"/></video>\n</div>', { //scrollbar: false, shadeClose: true, title: '', area: [width, height], btn: [] }); } </script>