带有 jarallax 库图像的光滑滑块在浏览器最大化后恢复后大约是一半大小
Slick slider with jarallax library images are around half size at browser's maximize after restore down
大家好,新年快乐,
我将 slick jarallax javascript 库一起用于视差图像滑块。图像充当背景并处于背景大小:封面模式。当浏览器从全尺寸恢复到原来的尺寸,然后稍微增加其宽度时,图像覆盖了一半以上的区域,其余部分留空。以全尺寸制作浏览器是一样的。
我想这两个库之间存在冲突,但可能是 css 中某处的错误。如果有人愿意提供帮助,那就太好了。
谢谢,
CP
$(document).ready(function(){
// slider activity
$('.fade').slick({
infinite: true,
autoplay: true,
draggable: false,
prevArrow: '<div class="slider-nav"><span class="span-left"><i class="prev fa fa-chevron-left" name="prev" aria-hidden="true"></i><i class="prev fa fa-chevron-circle-left" name="prev" aria-hidden="true"></i></span></div>',
nextArrow: '<div class="slider-nav"><span class="span-right"><i class="next fa fa-chevron-right" name="next" aria-hidden="true"></i><i class="next fa fa-chevron-circle-right" name="next" aria-hidden="true"></i></span></div>',
pauseOnHover: false,
useOnFocus: false,
waitForAnimate: false,
speed: 1500,
autoplaySpeed: 7000,
fade: true,
cssEase: 'linear'
});
// parallax activity
$('.jarallax').jarallax({
speed: -0.2,
});
});
body {
position: absolute;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
font-size: 15px;
background: white;
}
/* image slider */
.image-slider {
position: relative;
height: 100%;
width: 100%;
}
.slider {
position: absolute;
width: 100%;
height: 100%;
}
.slider div.one {
background: url(https://cdn.pixabay.com/photo/2014/10/26/15/03/garden-by-the-bay-503897_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider div.two {
background: url(https://cdn.pixabay.com/photo/2016/04/20/12/51/regensburg-1341093_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider div.three {
background: url(https://cdn.pixabay.com/photo/2017/12/16/22/23/regensburg-3023439_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider .one a {
position: absolute;
top: 50%;
z-index: 5;
}
.slider-nav {
position: absolute;
transform: translateY(-50%);
width: 100%;
top: 50%;
z-index: 2;
}
@media screen and (min-width: 1025px) {
.slider-nav .span-left .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: -29px 15px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-left:hover .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: 0 15px;
opacity: 0;
transition: opacity 0.3s, margin 0.3s;
}
.slider-nav .span-left .fa-chevron-circle-left:before {
content: "\f137";
font-size: 46px;
margin: 0 3px;
opacity: 0;
transition: opacity 0.3s;
}
.slider-nav .span-left:hover .fa-chevron-circle-left:before {
content: "\f137";
font-size: 46px;
margin: 0 3px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-right .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: -29px 4px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-right:hover .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: 0 4px;
opacity: 0;
transition: opacity 0.3s, margin 0.3s;
}
.slider-nav .span-right .fa-chevron-circle-right:before {
content: "\f138";
font-size: 46px;
margin: -12px -13px;
opacity: 0;
transition: opacity 0.3s;
}
.slider-nav .span-right:hover .fa-chevron-circle-right:before {
content: "\f138";
font-size: 46px;
margin: -12px -13px;
opacity: 1;
transition: opacity 0.3s;
}
}
.slider-nav span.span-left, .slider-nav span.span-right {
position: absolute;
border-radius: 50%;
cursor: pointer;
}
.slider-nav span.span-left {
left: 30px;
}
.slider-nav span.span-right {
right: 60px;
}
.slider-nav span i {
color: white;
font-size: 26px;
}
.slider-nav div {
position: absolute;
left: 36px;
text-align: left;
font-size: 36px;
color: #fff;
text-decoration: none;
cursor: pointer;
z-index: 2;
bottom: 4px;
transition: all 0.3s;
}
@media screen and (max-width: 1024px) {
.slider-nav .span-left .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: -29px 15px;
opacity: 0.5;
}
.slider-nav .span-right .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: -29px 4px;
opacity: 0.5;
}
.slider-nav .span-left .fa-chevron-circle-left:before {
display: none;
}
.slider-nav .span-right .fa-chevron-circle-right:before {
display: none;
}
}
/* content */
.content {
position: relative;
width: 100%;
height: 1000px;
}
/* slick slider correction for 1px background image height*/
/* Slider */
.slick-slider
{
position: relative;
display: block;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
-khtml-user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}
.slick-list
{
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
}
.slick-list:focus
{
outline: none;
}
.slick-list.dragging
{
cursor: pointer;
cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list
{
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
height: 100%;
}
.slick-track
{
position: relative;
top: 0;
left: 0;
display: block;
margin-left: auto;
margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
display: table;
content: '';
}
.slick-track:after
{
clear: both;
}
.slick-loading .slick-track
{
visibility: hidden;
}
.slick-slide
{
display: none;
float: left;
min-height: 1px;
}
[dir='rtl'] .slick-slide
{
float: right;
}
.slick-slide img
{
display: block;
}
.slick-slide.slick-loading img
{
display: none;
}
.slick-slide.dragging img
{
pointer-events: none;
}
.slick-initialized .slick-slide
{
display: block;
}
.slick-loading .slick-slide
{
visibility: hidden;
}
.slick-vertical .slick-slide
{
display: block;
height: auto;
border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
display: none;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jarallax/1.9.3/jarallax.min.js"></script>
<div class="image-slider"> <!-- IMAGE SLIDER -->
<div class="slider fade">
<div class="one jarallax"></div>
<div class="two jarallax"></div>
<div class="three jarallax"></div>
</div>
</div>
<div class="content">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iusto cupiditate, aperiam illum sapiente. Fugiat, explicabo, vel hic laborum nisi ratione ut molestiae reiciendis libero tenetur veritatis quam, provident consequatur alias.</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
我居然找到了解决办法。问题在于 jarallax 库(我猜),其中由名为 'jarallax-container-[n]' 的库创建的 ID 被赋予了宽度,以某种方式将其固定在某个最大宽度参数上。将此代码添加到我的 CSS 中,现在一切正常。
div[id*="jarallax-container"] div {
width: 100% !important;
}
如果其他人遇到了这个问题,我会添加这个解决方案。
$(document).ready(function(){
// slider activity
$('.fade').slick({
infinite: true,
autoplay: true,
draggable: false,
prevArrow: '<div class="slider-nav"><span class="span-left"><i class="prev fa fa-chevron-left" name="prev" aria-hidden="true"></i><i class="prev fa fa-chevron-circle-left" name="prev" aria-hidden="true"></i></span></div>',
nextArrow: '<div class="slider-nav"><span class="span-right"><i class="next fa fa-chevron-right" name="next" aria-hidden="true"></i><i class="next fa fa-chevron-circle-right" name="next" aria-hidden="true"></i></span></div>',
pauseOnHover: false,
useOnFocus: false,
waitForAnimate: false,
speed: 1500,
autoplaySpeed: 7000,
fade: true,
cssEase: 'linear'
});
// parallax activity
$('.jarallax').jarallax({
speed: -0.2,
});
});
body {
position: absolute;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
font-size: 15px;
background: white;
}
/* image slider */
.image-slider {
position: relative;
height: 100%;
width: 100%;
}
.slider {
position: absolute;
width: 100%;
height: 100%;
}
.slider div.one {
background: url(https://cdn.pixabay.com/photo/2014/10/26/15/03/garden-by-the-bay-503897_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider div.two {
background: url(https://cdn.pixabay.com/photo/2016/04/20/12/51/regensburg-1341093_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider div.three {
background: url(https://cdn.pixabay.com/photo/2017/12/16/22/23/regensburg-3023439_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider .one a {
position: absolute;
top: 50%;
z-index: 5;
}
.slider-nav {
position: absolute;
transform: translateY(-50%);
width: 100%;
top: 50%;
z-index: 2;
}
@media screen and (min-width: 1025px) {
.slider-nav .span-left .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: -29px 15px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-left:hover .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: 0 15px;
opacity: 0;
transition: opacity 0.3s, margin 0.3s;
}
.slider-nav .span-left .fa-chevron-circle-left:before {
content: "\f137";
font-size: 46px;
margin: 0 3px;
opacity: 0;
transition: opacity 0.3s;
}
.slider-nav .span-left:hover .fa-chevron-circle-left:before {
content: "\f137";
font-size: 46px;
margin: 0 3px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-right .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: -29px 4px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-right:hover .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: 0 4px;
opacity: 0;
transition: opacity 0.3s, margin 0.3s;
}
.slider-nav .span-right .fa-chevron-circle-right:before {
content: "\f138";
font-size: 46px;
margin: -12px -13px;
opacity: 0;
transition: opacity 0.3s;
}
.slider-nav .span-right:hover .fa-chevron-circle-right:before {
content: "\f138";
font-size: 46px;
margin: -12px -13px;
opacity: 1;
transition: opacity 0.3s;
}
}
.slider-nav span.span-left, .slider-nav span.span-right {
position: absolute;
border-radius: 50%;
cursor: pointer;
}
.slider-nav span.span-left {
left: 30px;
}
.slider-nav span.span-right {
right: 60px;
}
.slider-nav span i {
color: white;
font-size: 26px;
}
.slider-nav div {
position: absolute;
left: 36px;
text-align: left;
font-size: 36px;
color: #fff;
text-decoration: none;
cursor: pointer;
z-index: 2;
bottom: 4px;
transition: all 0.3s;
}
@media screen and (max-width: 1024px) {
.slider-nav .span-left .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: -29px 15px;
opacity: 0.5;
}
.slider-nav .span-right .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: -29px 4px;
opacity: 0.5;
}
.slider-nav .span-left .fa-chevron-circle-left:before {
display: none;
}
.slider-nav .span-right .fa-chevron-circle-right:before {
display: none;
}
}
/* content */
.content {
position: relative;
width: 100%;
height: 1000px;
}
/* slick slider correction for 1px background image height*/
/* Slider */
.slick-slider
{
position: relative;
display: block;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
-khtml-user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}
.slick-list
{
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
}
.slick-list:focus
{
outline: none;
}
.slick-list.dragging
{
cursor: pointer;
cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list
{
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
height: 100%;
}
.slick-track
{
position: relative;
top: 0;
left: 0;
display: block;
margin-left: auto;
margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
display: table;
content: '';
}
.slick-track:after
{
clear: both;
}
.slick-loading .slick-track
{
visibility: hidden;
}
.slick-slide
{
display: none;
float: left;
min-height: 1px;
}
[dir='rtl'] .slick-slide
{
float: right;
}
.slick-slide img
{
display: block;
}
.slick-slide.slick-loading img
{
display: none;
}
.slick-slide.dragging img
{
pointer-events: none;
}
.slick-initialized .slick-slide
{
display: block;
}
.slick-loading .slick-slide
{
visibility: hidden;
}
.slick-vertical .slick-slide
{
display: block;
height: auto;
border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
display: none;
}
div[id*="jarallax-container"] div {
width: 100% !important;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jarallax/1.9.3/jarallax.min.js"></script>
<div class="image-slider"> <!-- IMAGE SLIDER -->
<div class="slider fade">
<div class="one jarallax"></div>
<div class="two jarallax"></div>
<div class="three jarallax"></div>
</div>
</div>
<div class="content">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iusto cupiditate, aperiam illum sapiente. Fugiat, explicabo, vel hic laborum nisi ratione ut molestiae reiciendis libero tenetur veritatis quam, provident consequatur alias.</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
另一种可能的解决方案:
jQuery(document).ready(function($) {
$('.jarallax').jarallax({
speed: 0.5,
});
$(window).resize(function() {
$('.jarallax').jarallax('onResize');
$('.jarallax').css('width', $(window).width() + 'px');
});
$(window).on('orientationchange', function() {
$('.jarallax').jarallax('onResize');
$('.jarallax').css('width', $(window).width() + 'px');
});
});
大家好,新年快乐, 我将 slick jarallax javascript 库一起用于视差图像滑块。图像充当背景并处于背景大小:封面模式。当浏览器从全尺寸恢复到原来的尺寸,然后稍微增加其宽度时,图像覆盖了一半以上的区域,其余部分留空。以全尺寸制作浏览器是一样的。 我想这两个库之间存在冲突,但可能是 css 中某处的错误。如果有人愿意提供帮助,那就太好了。 谢谢, CP
$(document).ready(function(){
// slider activity
$('.fade').slick({
infinite: true,
autoplay: true,
draggable: false,
prevArrow: '<div class="slider-nav"><span class="span-left"><i class="prev fa fa-chevron-left" name="prev" aria-hidden="true"></i><i class="prev fa fa-chevron-circle-left" name="prev" aria-hidden="true"></i></span></div>',
nextArrow: '<div class="slider-nav"><span class="span-right"><i class="next fa fa-chevron-right" name="next" aria-hidden="true"></i><i class="next fa fa-chevron-circle-right" name="next" aria-hidden="true"></i></span></div>',
pauseOnHover: false,
useOnFocus: false,
waitForAnimate: false,
speed: 1500,
autoplaySpeed: 7000,
fade: true,
cssEase: 'linear'
});
// parallax activity
$('.jarallax').jarallax({
speed: -0.2,
});
});
body {
position: absolute;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
font-size: 15px;
background: white;
}
/* image slider */
.image-slider {
position: relative;
height: 100%;
width: 100%;
}
.slider {
position: absolute;
width: 100%;
height: 100%;
}
.slider div.one {
background: url(https://cdn.pixabay.com/photo/2014/10/26/15/03/garden-by-the-bay-503897_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider div.two {
background: url(https://cdn.pixabay.com/photo/2016/04/20/12/51/regensburg-1341093_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider div.three {
background: url(https://cdn.pixabay.com/photo/2017/12/16/22/23/regensburg-3023439_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider .one a {
position: absolute;
top: 50%;
z-index: 5;
}
.slider-nav {
position: absolute;
transform: translateY(-50%);
width: 100%;
top: 50%;
z-index: 2;
}
@media screen and (min-width: 1025px) {
.slider-nav .span-left .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: -29px 15px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-left:hover .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: 0 15px;
opacity: 0;
transition: opacity 0.3s, margin 0.3s;
}
.slider-nav .span-left .fa-chevron-circle-left:before {
content: "\f137";
font-size: 46px;
margin: 0 3px;
opacity: 0;
transition: opacity 0.3s;
}
.slider-nav .span-left:hover .fa-chevron-circle-left:before {
content: "\f137";
font-size: 46px;
margin: 0 3px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-right .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: -29px 4px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-right:hover .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: 0 4px;
opacity: 0;
transition: opacity 0.3s, margin 0.3s;
}
.slider-nav .span-right .fa-chevron-circle-right:before {
content: "\f138";
font-size: 46px;
margin: -12px -13px;
opacity: 0;
transition: opacity 0.3s;
}
.slider-nav .span-right:hover .fa-chevron-circle-right:before {
content: "\f138";
font-size: 46px;
margin: -12px -13px;
opacity: 1;
transition: opacity 0.3s;
}
}
.slider-nav span.span-left, .slider-nav span.span-right {
position: absolute;
border-radius: 50%;
cursor: pointer;
}
.slider-nav span.span-left {
left: 30px;
}
.slider-nav span.span-right {
right: 60px;
}
.slider-nav span i {
color: white;
font-size: 26px;
}
.slider-nav div {
position: absolute;
left: 36px;
text-align: left;
font-size: 36px;
color: #fff;
text-decoration: none;
cursor: pointer;
z-index: 2;
bottom: 4px;
transition: all 0.3s;
}
@media screen and (max-width: 1024px) {
.slider-nav .span-left .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: -29px 15px;
opacity: 0.5;
}
.slider-nav .span-right .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: -29px 4px;
opacity: 0.5;
}
.slider-nav .span-left .fa-chevron-circle-left:before {
display: none;
}
.slider-nav .span-right .fa-chevron-circle-right:before {
display: none;
}
}
/* content */
.content {
position: relative;
width: 100%;
height: 1000px;
}
/* slick slider correction for 1px background image height*/
/* Slider */
.slick-slider
{
position: relative;
display: block;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
-khtml-user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}
.slick-list
{
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
}
.slick-list:focus
{
outline: none;
}
.slick-list.dragging
{
cursor: pointer;
cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list
{
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
height: 100%;
}
.slick-track
{
position: relative;
top: 0;
left: 0;
display: block;
margin-left: auto;
margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
display: table;
content: '';
}
.slick-track:after
{
clear: both;
}
.slick-loading .slick-track
{
visibility: hidden;
}
.slick-slide
{
display: none;
float: left;
min-height: 1px;
}
[dir='rtl'] .slick-slide
{
float: right;
}
.slick-slide img
{
display: block;
}
.slick-slide.slick-loading img
{
display: none;
}
.slick-slide.dragging img
{
pointer-events: none;
}
.slick-initialized .slick-slide
{
display: block;
}
.slick-loading .slick-slide
{
visibility: hidden;
}
.slick-vertical .slick-slide
{
display: block;
height: auto;
border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
display: none;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jarallax/1.9.3/jarallax.min.js"></script>
<div class="image-slider"> <!-- IMAGE SLIDER -->
<div class="slider fade">
<div class="one jarallax"></div>
<div class="two jarallax"></div>
<div class="three jarallax"></div>
</div>
</div>
<div class="content">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iusto cupiditate, aperiam illum sapiente. Fugiat, explicabo, vel hic laborum nisi ratione ut molestiae reiciendis libero tenetur veritatis quam, provident consequatur alias.</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
我居然找到了解决办法。问题在于 jarallax 库(我猜),其中由名为 'jarallax-container-[n]' 的库创建的 ID 被赋予了宽度,以某种方式将其固定在某个最大宽度参数上。将此代码添加到我的 CSS 中,现在一切正常。
div[id*="jarallax-container"] div {
width: 100% !important;
}
如果其他人遇到了这个问题,我会添加这个解决方案。
$(document).ready(function(){
// slider activity
$('.fade').slick({
infinite: true,
autoplay: true,
draggable: false,
prevArrow: '<div class="slider-nav"><span class="span-left"><i class="prev fa fa-chevron-left" name="prev" aria-hidden="true"></i><i class="prev fa fa-chevron-circle-left" name="prev" aria-hidden="true"></i></span></div>',
nextArrow: '<div class="slider-nav"><span class="span-right"><i class="next fa fa-chevron-right" name="next" aria-hidden="true"></i><i class="next fa fa-chevron-circle-right" name="next" aria-hidden="true"></i></span></div>',
pauseOnHover: false,
useOnFocus: false,
waitForAnimate: false,
speed: 1500,
autoplaySpeed: 7000,
fade: true,
cssEase: 'linear'
});
// parallax activity
$('.jarallax').jarallax({
speed: -0.2,
});
});
body {
position: absolute;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
font-size: 15px;
background: white;
}
/* image slider */
.image-slider {
position: relative;
height: 100%;
width: 100%;
}
.slider {
position: absolute;
width: 100%;
height: 100%;
}
.slider div.one {
background: url(https://cdn.pixabay.com/photo/2014/10/26/15/03/garden-by-the-bay-503897_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider div.two {
background: url(https://cdn.pixabay.com/photo/2016/04/20/12/51/regensburg-1341093_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider div.three {
background: url(https://cdn.pixabay.com/photo/2017/12/16/22/23/regensburg-3023439_960_720.jpg) no-repeat center center;
position: absolute;
display: inline;
width: 100%;
height: 100%;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.slider .one a {
position: absolute;
top: 50%;
z-index: 5;
}
.slider-nav {
position: absolute;
transform: translateY(-50%);
width: 100%;
top: 50%;
z-index: 2;
}
@media screen and (min-width: 1025px) {
.slider-nav .span-left .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: -29px 15px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-left:hover .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: 0 15px;
opacity: 0;
transition: opacity 0.3s, margin 0.3s;
}
.slider-nav .span-left .fa-chevron-circle-left:before {
content: "\f137";
font-size: 46px;
margin: 0 3px;
opacity: 0;
transition: opacity 0.3s;
}
.slider-nav .span-left:hover .fa-chevron-circle-left:before {
content: "\f137";
font-size: 46px;
margin: 0 3px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-right .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: -29px 4px;
opacity: 1;
transition: opacity 0.3s;
}
.slider-nav .span-right:hover .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: 0 4px;
opacity: 0;
transition: opacity 0.3s, margin 0.3s;
}
.slider-nav .span-right .fa-chevron-circle-right:before {
content: "\f138";
font-size: 46px;
margin: -12px -13px;
opacity: 0;
transition: opacity 0.3s;
}
.slider-nav .span-right:hover .fa-chevron-circle-right:before {
content: "\f138";
font-size: 46px;
margin: -12px -13px;
opacity: 1;
transition: opacity 0.3s;
}
}
.slider-nav span.span-left, .slider-nav span.span-right {
position: absolute;
border-radius: 50%;
cursor: pointer;
}
.slider-nav span.span-left {
left: 30px;
}
.slider-nav span.span-right {
right: 60px;
}
.slider-nav span i {
color: white;
font-size: 26px;
}
.slider-nav div {
position: absolute;
left: 36px;
text-align: left;
font-size: 36px;
color: #fff;
text-decoration: none;
cursor: pointer;
z-index: 2;
bottom: 4px;
transition: all 0.3s;
}
@media screen and (max-width: 1024px) {
.slider-nav .span-left .fa-chevron-left:before {
position: absolute;
content: "\f053";
margin: -29px 15px;
opacity: 0.5;
}
.slider-nav .span-right .fa-chevron-right:before {
position: absolute;
content: "\f054";
margin: -29px 4px;
opacity: 0.5;
}
.slider-nav .span-left .fa-chevron-circle-left:before {
display: none;
}
.slider-nav .span-right .fa-chevron-circle-right:before {
display: none;
}
}
/* content */
.content {
position: relative;
width: 100%;
height: 1000px;
}
/* slick slider correction for 1px background image height*/
/* Slider */
.slick-slider
{
position: relative;
display: block;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
-khtml-user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}
.slick-list
{
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
}
.slick-list:focus
{
outline: none;
}
.slick-list.dragging
{
cursor: pointer;
cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list
{
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
height: 100%;
}
.slick-track
{
position: relative;
top: 0;
left: 0;
display: block;
margin-left: auto;
margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
display: table;
content: '';
}
.slick-track:after
{
clear: both;
}
.slick-loading .slick-track
{
visibility: hidden;
}
.slick-slide
{
display: none;
float: left;
min-height: 1px;
}
[dir='rtl'] .slick-slide
{
float: right;
}
.slick-slide img
{
display: block;
}
.slick-slide.slick-loading img
{
display: none;
}
.slick-slide.dragging img
{
pointer-events: none;
}
.slick-initialized .slick-slide
{
display: block;
}
.slick-loading .slick-slide
{
visibility: hidden;
}
.slick-vertical .slick-slide
{
display: block;
height: auto;
border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
display: none;
}
div[id*="jarallax-container"] div {
width: 100% !important;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jarallax/1.9.3/jarallax.min.js"></script>
<div class="image-slider"> <!-- IMAGE SLIDER -->
<div class="slider fade">
<div class="one jarallax"></div>
<div class="two jarallax"></div>
<div class="three jarallax"></div>
</div>
</div>
<div class="content">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iusto cupiditate, aperiam illum sapiente. Fugiat, explicabo, vel hic laborum nisi ratione ut molestiae reiciendis libero tenetur veritatis quam, provident consequatur alias.</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
另一种可能的解决方案:
jQuery(document).ready(function($) {
$('.jarallax').jarallax({
speed: 0.5,
});
$(window).resize(function() {
$('.jarallax').jarallax('onResize');
$('.jarallax').css('width', $(window).width() + 'px');
});
$(window).on('orientationchange', function() {
$('.jarallax').jarallax('onResize');
$('.jarallax').css('width', $(window).width() + 'px');
});
});