sumerui - jQuery仿抖音视频网页源码【纯前端HTML5 + JS + CSS】
sumerui - jQuery仿抖音视频网页源码【纯前端HTML5 + JS + CSS】
演示实例
部分代码片段:
HTML部分:
mui.init();window.onload = function () { $.ajax({ type: "GET", url: "#", contentType: 'application/json', data: { page: 1, type: 1 }, dataType: "jsonp", success: function (res) { console.log(res.data) }, error: function (xhr) { console.log(xhr); } }); var arr = [{ title: "温州威客网络科技有限公司", msg: true, state: 'pause', src: 'https://blz-videos.nosdn.127.net/1/OverWatch/AnimatedShots/Overwatch_TheatricalTeaser_WeAreOverwatch_zhCN.mp4', videoImg: '' }, ]; // console.log(arr); //循环后台的数据拼接上去 $.each(arr, function (i, item) { console.log(item.src); var lihtml = $( ` ` ) $(".swiper-wrapper").append(lihtml); }) var mySwiper = new Swiper('.swiper-container', { direction: 'vertical', // 垂直切换选项 on: { slideChangeTransitionEnd: function () { $(".remarkWrap").slideUp(100); $(".twoRemarkWrap").slideUp(100); console.log(this.activeIndex) //切换结束时,告诉我现在是第几个slide var videoLength = $(".swiper-container .swiper-slide").length; console.log(videoLength); //先显示 (这一部分是不能实现进去就播放因为没有进行过交互动作所以先在加载的时候全部先暂停并时间重置为0,用户点击的时候再播放) // for (var i = 1; i植发美发养发视频精彩评论X山村一枝花10月31日 9:20:238882欢迎来到美丽的大山世界太刺激了下次有时间还想再来欢迎来到美丽的大山世界太刺激了下次有时间还想再来欢迎来到美丽的大山世界太刺激了 下次有时间还想再来欢迎来到美丽的大山世界太刺激了下次有时间还想再来496条回复>发送评论详情∨山村二枝花 楼主10月31日 9:20:238882欢迎来到美丽的大山世界太刺激了下次有时间还想再来欢迎来到美丽的大山世界太刺激了下次有时间还想再来欢迎来到美丽的大山世界太刺激了 下次有时间还想再来欢迎来到美丽的大山世界太刺激了下次有时间还想再来山村二枝花 回复 @风吹枫又落10月31日 9:20:238882欢迎来到美丽的大山世界太刺激了下次有时间还想再来欢迎来到美丽的大山世界太刺激了发送jascript部分
/*! npm.im/iphone-inline-video 2.2.2 */ var enableInlineVideo = function () { "use strict"; /*! npm.im/intervalometer */ function e(e, i, n, r) { function t(n) { d = i(t, r), e(n - (a || n)), a = n } var d, a; return { start: function () { d || t(0) }, stop: function () { n(d), d = null, a = 0 } } } function i(i) { return e(i, requestAnimationFrame, cancelAnimationFrame) } function n(e, i, n) { function r(r) { n && !n(e, i) || r.stopImmediatePropagation() } return e.addEventListener(i, r), r } function r(e, i, n, r) { function t() { return n[i] } function d(e) { n[i] = e } r && d(e[i]), Object.defineProperty(e, i, { get: t, set: d }) } function t(e, i, n) { n.addEventListener(i, function () { return e.dispatchEvent(new Event(i)) }) } function d(e, i) { Promise.resolve().then(function () { e.dispatchEvent(new Event(i)) }) } function a(e) { var i = new Audio; return t(e, "play", i), t(e, "playing", i), t(e, "pause", i), i.crossOrigin = e.crossOrigin, i.src = e.src || e.currentSrc || "data:", i } function u(e, i, n) { (m || 0) + 200 = e.video.duration } function s(e) { var i = this; i.video.readyState >= i.video.HAVE_FUTURE_DATA ? (i.hasAudio || (i.driver.currentTime = i.video.currentTime + e * i.video.playbackRate / 1e3, i.video.loop && o(i) && (i.driver.currentTime = 0)), u(i.video, i.driver.currentTime)) : i.video.networkState === i.video.NETWORK_IDLE && 0 === i.video.buffered.length && i.video.load(), i.video.ended && (delete i.video[h], i.video.pause(!0)) } function c() { var e = this, i = e[g]; if (e.webkitDisplayingFullscreen) return void e[E](); "data:" !== i.driver.src && i.driver.src !== e.src && (u(e, 0, !0), i.driver.src = e.src), e.paused && (i.paused = !1, 0 === e.buffered.length && e.load(), i.driver.play(), i.updater.start(), i.hasAudio || (d(e, "play"), i.video.readyState >= i.video.HAVE_ENOUGH_DATA && d(e, "playing"))) } function v(e) { var i = this, n = i[g]; n.driver.pause(), n.updater.stop(), i.webkitDisplayingFullscreen && i[w](), n.paused && !e || (n.paused = !0, n.hasAudio || d(i, "pause"), i.ended && !i.webkitDisplayingFullscreen && (i[h] = !0, d(i, "ended"))) } function p(e, n) { var r = {}; e[g] = r, r.paused = !0, r.hasAudio = n, r.video = e, r.updater = i(s.bind(r)), n ? r.driver = a(e) : (e.addEventListener("canplay", function () { e.paused || d(e, "playing") }), r.driver = { src: e.src || e.currentSrc || "data:", muted: !0, paused: !0, pause: function () { r.driver.paused = !0 }, play: function () { r.driver.paused = !1, o(r) && u(e, 0) }, get ended() { return o(r) } }), e.addEventListener("emptied", function () { var i = !r.driver.src || "data:" === r.driver.src; r.driver.src && r.driver.src !== e.src && (u(e, 0, !0), r.driver.src = e.src, i || !n && e.autoplay ? r.driver.play() : r.updater.stop()) }, !1), e.addEventListener("webkitbeginfullscreen", function () { e.paused ? n && 0 === r.driver.buffered.length && r.driver.load() : (e.pause(), e[E]()) }), n && (e.addEventListener("webkitendfullscreen", function () { r.driver.currentTime = e.currentTime }), e.addEventListener("seeking", function () { k.indexOf(100 * e.currentTime | 0)源码地址:点击下载
*****SUMER UI3.0****
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理!
部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!