HTML+CSS+Query+Sick.js实现视频会循环播放并无缝切换到下一个视频,形成一个自动播放的轮播
HTML结构:
.video-carousel 是轮播的容器,每个视频被包裹在 .video-container 中。
CSS样式:
.video-container 使用 padding-bottom: 56.25% 来确保视频的宽高比为 16:9。
video 标签使用 object-fit: cover 来保证视频在容器中按比例填充。
JavaScript:
slick 初始化时设置了 autoplay, autoplaySpeed, 和 speed,其中 autoplaySpeed 和 speed 确保视频以无缝的方式切换。
beforeChange 事件暂停当前播放的视频。
afterChange 事件开始播放当前滑块的视频。
这样,视频会循环播放并无缝切换到下一个视频,形成一个自动播放的轮播。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link href="./css/base-v3.0.min.css" type="text/css" rel="stylesheet" />
<script src="./js/jquery.min.js"></script>
</head>
<style>
.ys_main {
margin-top: 120px;
}
.ys_banner {
width: 100%;
position: relative;
}
.ys_ban_imgbox {
position: relative;
z-index: 1;
}
.ys_ban_imgbox img {
width: 100%;
}
.ys_ban_imgbox::before {
content: '';
display: block;
position: absolute;
left: 0;
top: 0;
z-index: 3;
width: 100%;
height: 100%;
/* background: rgba(0, 0, 0, .3); */
}
.ys_ban_ph {
display: none;
}
.ys_ban_video {
position: absolute;
left: 50%;
top: 50%;
z-index: 2;
transform: translate(-50%, -50%);
width: 100%;
object-fit: cover;
}
.ys_ban_video {
top: 0;
left: 0;
transform: inherit;
}
.act.slick-active .ys_ban_title1 {
animation-delay: 0.1s;
}
.act.slick-active .ys_ban_title2 {
animation-delay: 0.2s;
}
.act.slick-active .ys_ban_info {
animation-delay: 0.3s;
}
.act.slick-active .ys_ban_info_btn {
animation-delay: 0.4s;
}
.slick-dots {
bottom: 50px;
}
</style>
<body>
<!-- 主体内容 -->
<main class="ys_main">
<!-- banner区 -->
<section class="ys_banner">
<ul class="ys_ban_slick">
<!-- 默认第一个加act类名 -->
<li class="ys_ban_li act">
<div class="ys_ban_imgbox">
<!-- pc端图片 -->
<img class="ys_ban_pc" src="./h.jpg" alt="banner_index.jpg" />
<!-- 视频不传则没有video标签 -->
<video
class="ys_ban_video"
src="./720p.mp4"
muted
poster="./h.jpg"
></video>
<!-- 移动端图片 -->
<img class="ys_ban_ph" src="./h.jpg" alt="a1_bannerph01.jpg" />
</div>
</li>
</ul>
</section>
</main>
<script src="./js/public.js"></script>
<script src="./js/base-v3.0.min.js"></script>
<script>
$(function () {
bannerInit()
})
function bannerInit() {
// 轮播初始化
$('.ys_ban_slick').slick({
arrows: true,
speed: 1000,
autoplaySpeed: 4000,
pauseOnHover: false,
dots: true,
})
// 视频播完轮播
ys.banVideo('.ys_ban_slick')
$('.ys_ban_slick').on(
'beforeChange',
function (event, slick, currentSlide, nextSlide) {
$('.ys_ban_li').removeClass('act')
}
)
}
</script>
</body>
</html>
/*
回到顶部功能 (t(s)):点击按钮后,页面会平滑地滚动回到顶部。
固定导航栏 (i(t)):当页面滚动超过一定距离时,使导航栏固定在页面顶部。
视频播放控制 (n(t)):针对带有视频的轮播图,控制视频的播放与轮播之间的交互。如果视频存在且在轮播图中,轮播会暂停并播放视频,视频结束后自动继续轮播。
自定义选择框 (e(s,t)):实现自定义下拉选择框的功能,点击选择框后,显示可选项,并处理用户的选择操作。
模态框 (o(s,t,i,n)):点击触发模态框的显示,可以动态加载内容(如图片或视频),并提供关闭模态框的功能。
视频弹窗 (a(t,i)):用于显示视频的弹出层,支持播放本地视频或嵌入iframe。
滚动条美化 (l(s,t,i)):为指定元素添加自定义滚动条样式,并支持垂直或水平滚动。
数字动画 (c(s,t,i)):实现数字的动画增长效果,当元素出现时,会从0开始递增到指定的数值。
社交分享 (r(t,i)):为页面添加社交媒体的分享按钮,如微信、微博、Twitter、Facebook等,并生成对应的分享链接。
导航栏处理 (d(t,i)):处理页面滚动时导航栏的固定与非固定状态,以及其他导航栏相关的动态效果。
移动端导航处理 (h(s)):用于移动端的导航栏操作,包括菜单按钮的展开与收起,二级菜单的显示与隐藏,语言选择等。
*/
(function (s) {
function t(s) {
s = s || 500;
$("html,body").stop().animate({
scrollTop: 0
}, s)
}
function i(t) {
function i() {
$(s).scrollTop() > 0 ? n.addClass("isfixed") : n.removeClass("isfixed")
}
var n = $(t);
$(function () {
i()
}),
$(s).on("scroll", i),
$(s).on("load", i),
$(s).on("resize", i)
}
function n(t) {
// 获取传入的元素并赋值给变量 i
var i = $(t),
// 初始化一个标志变量 n,表示轮播是否在播放状态
n = !0;
// 检查屏幕宽度是否大于1200像素,并且元素中是否包含视频
if ($(s).width() > 1200 && i.find("video").length > 0) {
// 内部函数 e:负责初始化整个视频与轮播的交互功能
function e() {
o(), // 调用函数 o,处理第一个视频的播放逻辑
l(), // 调用函数 l,为所有视频添加结束事件的监听
a() // 调用函数 a,监听轮播图的切换事件
}
// 内部函数 o:处理第一个视频的播放逻辑
function o() {
var s = i.find(".slick-slide[data-slick-index=0]"), // 获取第一个轮播滑块
t = s.find("video"); // 查找该滑块中的视频元素
// 如果存在视频元素
t.length > 0 ? (
i.slick("slickPause"), // 暂停轮播
i.get(0).slick.slideCount < 2 && t.attr("loop", "loop"), // 如果轮播图少于两张,设置视频循环播放
// 如果视频处于暂停状态,延迟100毫秒后播放视频
t.get(0).paused && setTimeout(function () {
t.get(0).play()
}, 100)
) : i.slick("slickPlay") // 如果没有视频,则继续播放轮播
}
// 内部函数 a:监听轮播图切换事件
function a() {
i.on("afterChange", function (s, t, e) {
// 当轮播图切换后,暂停所有视频并重置播放时间
i.find("video").each(function () {
var s = $(this).get(0);
s.pause(),
s.currentTime = 0
});
// 获取当前滑块并查找其中的视频
var o = $(t.$slides[e]),
a = o.find("video");
// 如果存在视频,暂停轮播并播放视频,否则继续播放轮播
a.length > 0 ? (
i.slick("slickPause"),
a.get(0).play()
) : n && i.slick("slickPlay")
})
}
// 内部函数 l:为每个视频添加播放结束事件的监听
function l() {
i.find("video").each(function () {
var s = $(this).get(0);
s.onended = function () {
// 当视频播放结束时,继续轮播并播放下一个滑块
n && (
i.slick("next"),
i.slick("slickPlay")
)
}
})
}
// 调用 e 函数,初始化视频和轮播图的交互
e();
} else
// 如果屏幕宽度小于1200像素或没有视频,则直接播放轮播图
i.slick("play");
// 定义一个对象 c,提供播放和暂停轮播图的功能
var c = {
play: function () {
i.slick("slickPlay"),
n = !0
},
pause: function () {
n = !1,
i.slick("slickPause")
}
};
// 返回控制对象 c,允许外部调用 play 和 pause 方法
return c
}
function e(s, t) {
var i = $(s);
i.find(".ys_select_li").each(function () {
var s = $(this).index();
null == $(this).attr("data-id") && $(this).attr("data-id", s),
$(this).attr("data-value", $(this).text())
}),
i.find(".ys_select_hd").click(function (s) {
if (s.stopPropagation(),
$(this).toggleClass("on"),
$(this).parents(".ys_select").hasClass("zindex"))
$(this).siblings(".ys_select_bd").removeClass("showscroll"),
$(this).siblings(".ys_select_bd").stop().slideUp(function () {
$(this).parents(".ys_select").removeClass("zindex")
});
else {
var t = this;
setTimeout(function () {
$(t).parents(".ys_select").addClass("zindex")
}, 200),
$(this).siblings(".ys_select_bd").stop().slideDown(function () {
$(this).mCustomScrollbar("update"),
$(this).addClass("showscroll")
})
}
$(".ys_select_hd").not(this).removeClass("on"),
$(".ys_select_hd").not(this).siblings(".ys_select_bd").removeClass("showscroll").stop().slideUp();
t = this;
setTimeout(function () {
$(".ys_select_hd").not(t).parents(".ys_select").removeClass("zindex")
}, 200)
}),
i.find(".ys_select_bd").on("click", ".ys_select_li", function () {
var s = $(this).text(),
i = $(this).data("value"),
n = $(this).data();
$(this).parents(".ys_select_bd").siblings(".ys_select_hd").find(".ys_select_show").val(s),
$(this).parents(".ys_select_bd").siblings(".ys_select_hd").find(".ys_select_real").attr("data-id", n.id).val(i).trigger("change"),
$(this).addClass("on").siblings().removeClass("on"),
t && t(n)
}),
$("body").click(function () {
$(".ys_select_hd").removeClass("on"),
$(".ys_select_bd").removeClass("showscroll").stop().slideUp(function () {
$(this).parents(".ys_select").removeClass("zindex")
})
}),
i.find(".ys_select_bd").mCustomScrollbar({
axis: "y",
scrollInertia: 500,
theme: "dark",
scrollbarPosition: "outside"
})
}
function o(s, t, i, n) {
var e = $(t);
$("body").on("click", s, function () {
var s = $(this);
if (e.stop().fadeIn(),
n) {
function t(t) {
$.each(t, function (t, i) {
var n = i[2],
o = s.find(i[0]).length > 0 ? s.find(i[0]) : s;
"text" != n && n || e.find(i[1]).text(o.text()),
"img" == n && e.find(i[1]).attr({
src: o.attr("src")
}),
"attr" == n && (console.log(i[3], o),
e.find(i[1]).html(o.attr(i[3]))),
"html" == n && e.find(i[1]).html(o.html())
})
}
t(n)
}
S.hide(),
C.stop()
}),
$("body").on("click", ".ys_modal_close", function () {
$(this).parents(t).stop().fadeOut(function () {
S.show(),
C.start(),
n && $.each(n, function (s, t) {
e.find(t[1]).empty()
})
})
});
i = i || ".ys_modal_content";
"noscroll" != i ? e.find(i).mCustomScrollbar({
axis: "y",
scrollInertia: 500,
theme: "dark"
}) : e.find(".ys_modal_content").addClass("noscroll")
}
function a(t, i) {
var n;
if ($(".ys_videom").length > 0)
n = $(".ys_videom");
else {
var e = '<div class="ys_videom"><div class="ys_videom_container"><div class="ys_videom_close"><i class="iconfont icon-close"></i></div><div class="ys_videom_content"><div class="ys_videom_iframebox"></div></div></div></div>';
n = $(e),
$("body").append(n)
}
var o = {
$self: n,
close: function () {
S.show(),
C.start(),
n.hide(),
n.find(".ys_videom_video").remove(),
n.find(".ys_videom_iframebox").hide().find("iframe").remove()
},
show: function () {
S.hide(),
C.stop(),
n.show()
}
};
$("body").on("click", t, function () {
var t = $(this).attr("data-type"),
e = $(this).attr("data-src");
if ("video" == t) {
n.find(".ys_videom_video").length > 0 && n.find(".ys_videom_video").remove();
var a = $(this).data("poster"),
l = $('<video playsinline x5-video-player-type="h5" controls class="ys_videom_video"></video>');
$(s).width() < 767 && -1 != e.indexOf("http") && (l = $('<video muted playsinline x5-video-player-type="h5" controls class="ys_videom_video"></video>'),
l.get(0).muted = !1),
l.append($("<source src=" + e + ">")),
l.attr("poster", a),
n.find(".ys_videom_content").append(l),
l.stop().show(),
i && l.get(0).play()
} else {
if ("iframe" != t)
return;
n.find(".ys_videom_iframebox").stop().show().html(e)
}
o.show()
}),
n.on("click", ".ys_videom_close", function () {
o.close()
})
}
function l(s, t, i) {
var n = $(s);
scrollbarAxis = i || "y",
scrollbarPosition = t ? "inside" : "outside",
n.mCustomScrollbar({
axis: scrollbarAxis,
scrollInertia: 500,
theme: "dark",
scrollbarPosition: scrollbarPosition
})
}
function c(s, t, i) {
var n = $(s);
i = i || 1e3;
n.appear(function () {
function s(s) {
return (s || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, "$1,")
}
var n = $(this).text();
$(this).width($(this).width());
var e = $(this).data("to");
e || (e = n);
var o = parseFloat(e.toString().replace(/,/g, "")),
a = parseInt(o).toString().length,
l = !1,
c = e.toString().split(",");
c[1] && (l = !0),
formatter = t ? function (t, i) {
for (var n = t.toFixed(i.decimals), e = parseInt(n).toString().length, o = 0; o < a - e; o++)
n = "0" + n;
return l && (n = s(n)),
n
} :
function (t, i) {
var n = t.toFixed(i.decimals);
return l && (n = s(n)),
n
},
$(this).countTo({
speed: i,
refreshInterval: 60,
formatter: formatter,
onComplete: function () {
$(this).removeAttr("style"),
$(this).text(n)
}
})
})
}
function r(t, i) {
t = t ? encodeURI(t) : encodeURI($("h1").text()),
i = i ? encodeURI(i) : encodeURI($("p").eq(0).text().replace(" ", ""));
if ($(".ys_share_wechat").click(function () {
var t;
if ($(".ys_wechat").length > 0)
t = $(".ys_wechat");
else {
var i = '<div class="ys_wechat"><div class="ys_wechat_cont"><div id="qrcode"><div class="ys_wechat_cont_parga"><p></p></div><div class="ys_wechat_cont_btn"><i class="iconfont icon-close"></i></div></div></div></div>';
t = $(i),
$("body").append(t)
}
var n = $(".ys_wechat_cont canvas").length;
console.log(n),
n > 0 && $(".ys_wechat_cont canvas").remove();
var e = s.location.href;
$("#qrcode").qrcode(e),
$(".ys_wechat").stop().fadeIn(),
S.hide(),
C.stop(),
t.on("click", ".ys_wechat_cont_btn", function () {
$(".ys_wechat").stop().fadeOut(function () {
S.show(),
C.start()
})
})
}),
$(".ys_share_sinaminiblog").length > 0) {
var n = s.location.href,
e = "https://service.weibo.com/share/share.php?url=" + n + "&title=" + t + " - " + i,
o = $(".ys_share_sinaminiblog").attr("title");
$(".ys_share_sinaminiblog").attr("title", o).css("cursor", "pointer").click(function () {
s.open(e, "_blank")
})
}
if ($(".ys_share_twitter").length > 0) {
var a = s.location.href;
console.log(a);
var l = "https://twitter.com/intent/tweet?text=" + t + " " + a,
c = $(".ys_share_twitter").attr("title");
$(".ys_share_twitter").attr("title", c).css("cursor", "pointer").click(function () {
s.open(l, "_blank")
})
}
if ($(".ys_share_facebook").length > 0) {
var r = s.location.href;
console.log(r);
var d = "https://www.facebook.com/share.php?src=bm&u=" + r,
h = $(".ys_share_facebook").attr("title");
$(".ys_share_facebook").attr("title", h).css("cursor", "pointer").click(function () {
s.open(d, "_blank")
})
}
}
function d(t, i) {
function n() {
if ($(s).width() > 1199)
var n = $(".ys_hd_pc").height();
else
n = 64;
var e = $(s).scrollTop(),
o = i.offset().top - n,
a = o + i.height() - $(s).scrollTop() - t.height();
e > o ? t.addClass("ys_fixed") : t.removeClass("ys_fixed"),
a < 0 ? t.addClass("ys_notfixed") : t.removeClass("ys_notfixed")
}
function e() {
n()
}
t = $(t),
i = $(i);
e(),
$(s).on("load", function () {
e()
}),
$(s).resize(function () {
e()
}),
$(s).scroll(function () {
n()
})
}
function h(s) {
function t() {
$(".ys_phnav_menubtn").click(function () {
$(this).hasClass("on") ? (w.scrollbar.show(),
w.lenisStart()) : (w.scrollbar.hide(),
w.lenisStop()),
$(this).toggleClass("on"),
$(".ys_phnav_menu").stop().slideToggle()
}),
$(".ys_phnav_lisbox").click(function () {
var s = $(this).siblings("ul");
s.length > 0 && ($(this).find(".ys_phnav_icon").toggleClass("on"),
s.stop().slideToggle()),
$(this).parent().siblings().find("ul").stop().slideUp(),
$(this).parent().siblings().find(".ys_phnav_icon").removeClass("on")
}),
$(".ys_phnav_lisbox a").click(function (s) {
s.stopPropagation()
})
}
function i() {
$(".ys_phnavss_btn").click(function (s) {
s.stopPropagation(),
$(".ys_phnavss_xl").stop().slideToggle(),
$(".ys_phnav_menubtn").hasClass("on") && $(".ys_phnav_menubtn").trigger("click"),
$(this).toggleClass("on")
}),
$(".ys_phnavss_xl").click(function (s) {
s.stopPropagation()
}),
$("body").click(function () {
$(".ys_phnavss_xl").stop().slideUp()
}),
$(".ys_phnav_menubtn").click(function (s) {
s.stopPropagation(),
$(".ys_phnavss_btn").hasClass("on") && $(".ys_phnavss_btn").trigger("click"),
$(this).hasClass("on") ? (w.scrollbar.show(),
w.lenisStart()) : (w.scrollbar.hide(),
w.lenisStop(),
$(".ys_phnav2_lang_modal").removeClass("on")),
$(this).toggleClass("on"),
$(".ys_phnav_menu").toggleClass("on")
}),
$(".ys_phnav_lisbox").click(function () {
var s = $(this).siblings("ul");
s.length > 0 && ($(this).find(".ys_phnav_icon").toggleClass("on"),
s.stop().slideToggle()),
$(this).parent().siblings().find("ul").stop().slideUp(),
$(this).parent().siblings().find(".ys_phnav_icon").removeClass("on")
}),
$(".ys_phnav_lisbox a").click(function (s) {
s.stopPropagation()
}),
$(".ys_phnav2_lang_btn").click(function () {
$(".ys_phnav2_lang_modal").addClass("on")
}),
$(".ys_phnav2_lang_back").click(function () {
$(".ys_phnav2_lang_modal").removeClass("on")
})
}
function n() {
w.modal(".ys_phnavss_btn", ".ys_phnavss_modal"),
$(".ys_phnav_menubtn").click(function () {
w.scrollbar.hide(),
w.lenisStop(),
$(this).addClass("on"),
$(".ys_phnav_menu").addClass("on")
}),
$(".ys_phmenu_close").click(function () {
w.scrollbar.show(),
w.lenisStart(),
$(".ys_phnav_menubtn").removeClass("on"),
$(".ys_phnav_menu").removeClass("on")
}),
$(".ys_phnav_lisbox").click(function () {
var s = $(this).siblings(".ys_phsubnav_modal");
s.length > 0 && s.addClass("on")
}),
$(".ys_phnav_lisbox a").click(function (s) {
s.stopPropagation()
}),
$(".ys_phsubnav_close").click(function () {
$(this).parents(".ys_phsubnav_modal").eq(0).removeClass("on")
}),
$(".ys_phnav3_lang_hd").click(function () {
$(this).toggleClass("on"),
$(".ys_phnav3_lang_bd").stop().slideToggle()
}),
$(".ys_phnav3_lang_hd a").click(function (s) {
s.stopPropagation()
})
}
function e() {
w.modal(".ys_phnavss_btn", ".ys_phnavss_modal"),
$(".ys_phnav_menubtn").click(function () {
$(this).hasClass("on") ? (w.scrollbar.show(),
w.lenisStart()) : (w.scrollbar.hide(),
w.lenisStop()),
$(this).toggleClass("on"),
$(".ys_phnav_menu").stop().slideToggle()
}),
$(".ys_phnav_lisbox").click(function () {
var s = $(this).siblings("ul");
s.length > 0 && ($(this).find(".ys_phnav_icon").toggleClass("on"),
s.stop().slideToggle()),
$(this).parent().siblings().find("ul").stop().slideUp(),
$(this).parent().siblings().find(".ys_phnav_icon").removeClass("on")
}),
$(".ys_phnav_lisbox a").click(function (s) {
s.stopPropagation()
})
}
switch (s) {
case 1:
t();
break;
case 2:
i();
break;
case 3:
n();
break;
case 4:
e();
break;
default:
t()
}
}
function _(s, t, i) {
var n = $(s),
e = n.css("animation-duration");
e = "0s" == e ? 1e3 : 1e3 * parseFloat(e),
n.addClass("animated " + t),
"show" == i && n.stop().show(),
setTimeout(function () {
"hide" == i ? n.stop().hide() : "show" != i && i && i(),
n.removeClass(t)
}, e)
}
function f() {
(s.devicePixelRatio > 1 || s.devicePixelRatio < 1) && alert("当前页面缩放比例异常,请设置成100%"),
s.screen.deviceXDPI != s.screen.logicalXDPI && alert("当前页面缩放比例异常,请设置成100%")
}
function p() {
$("link").each(function () {
var s = $(this).attr("href");
(s.indexOf("main.css") > 0 || s.indexOf("media.css") > 0) && $(this).attr("href", s + "?" + (new Date).getTime())
})
}
function v() {
$(".slick-slider").slick("pause")
}
function u(t, i, n) {
function e(t, i, n) {
t = t || "tp=",
i = i || $(".ys_hd_pc").height() || 0,
n = n || 500;
$(s).width() < 1200 && (i = 64);
var e = s.location.href.split(t);
isNaN(e[1]) || $("html,body").animate({
scrollTop: $('[data-page="' + e[1] + '"]').offset().top - i
}, n)
}
$(s).on("load", function () {
e(t, i, n)
})
}
function y() {
function s(t) {
C.raf(t),
requestAnimationFrame(s)
}
C = new Lenis,
C.on("scroll", s => {}),
requestAnimationFrame(s)
}
function m() {
C.stop()
}
function g() {
C.start()
}
function b() {
return !!(s.ActiveXObject || "ActiveXObject" in s)
}
function k(s, t) {
var i = t ? $(t) : $("a");
i.each(function () {
var t = $(this).attr("href");
t && null != t && -1 == t.indexOf("javascript") && (-1 == t.indexOf("?") && (t += "?"),
$(this).attr("href", t + s))
})
}
function x(s) {
s = s || 0;
$(this).appear(function () {
$(this).slick("play")
}, {
accY: s
})
}
var C, w = {};
s.ys && (w = s.ys);
var S = {
$html: $("html"),
$body: $("body"),
originalBodyPad: null,
scrollbarWidth: 0,
hide: function () {
this.$body = $("body"),
this.checkScrollbar(),
this.setScrollbar(),
this.$html.css("overflow", "hidden")
},
show: function () {
this.$body = $("body"),
this.$html.removeAttr("style"),
this.resetScrollbar()
},
checkScrollbar: function () {
var t = s.innerWidth;
if (!t) {
var i = document.documentElement.getBoundingClientRect();
t = i.right - Math.abs(i.left)
}
this.bodyIsOverflowing = document.body.clientWidth < t,
this.scrollbarWidth = this.measureScrollbar()
},
setScrollbar: function () {
var s = parseInt(this.$body.css("padding-right") || 0, 10);
this.originalBodyPad = document.body.style.paddingRight || "",
this.bodyIsOverflowing && this.$body.css("padding-right", s + this.scrollbarWidth)
},
measureScrollbar: function () {
var s = document.createElement("div");
s.style.position = "absolute",
s.style.top = "-9999px",
s.style.width = "50px",
s.style.height = "50px",
s.style.overflow = "scroll",
this.$body.append(s);
var t = s.offsetWidth - s.clientWidth;
return this.$body[0].removeChild(s),
t
},
resetScrollbar: function () {
this.$body.css("padding-right", 0)
},
isMobileSafari: function () {
var s = navigator.userAgent.toLowerCase(),
t = -1 != s.indexOf("chrome"),
i = -1 != s.indexOf("safari"),
n = -1 != s.indexOf("safari");
return !t && i && n ? 1 : 0
}
};
w.scrollbar = S,
w.goTop = t,
w.isFixed = i,
w.banVideo = n,
w.select = e,
w.modal = o,
w.videomodal = a,
w.mCustomScrollbarInit = l,
w.numRoll = c,
w.shareInit = r,
w.asideNav = d,
w.phNavInit = h,
w.animateCss = _,
w.checkViewport = f,
w.reloadCss = p,
w.stopSlick = v,
w.yxtop = u,
w.yxlenis = y,
w.lenisStop = m,
w.lenisStart = g,
w.isIE = b,
w.concatHref = k,
$.fn.slickAuto = x,
s.ys = w
})(window);
上一篇: HTML+CSS+Q
下一篇: HTML/CSS/J