- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的基于 Bootstrap v.4.3 框架的 WordPress 中,我有一个基于图像的轮播和一个纯色层 div 在其顶部。我希望纯色图层淡出并显示每个轮播元素
下面的轮播图像,例如本主题 ( https://themes.muffingroup.com/be/architect5/?utm_source=demos )。
在 HTML 下方:
<div class="container-fluid home-slide no-gutters" id="home-slide">
<!-- IMAGES ROW -->
<div class="row slide-images-row">
<div id="carousel-home" class="carousel slide carousel-fade" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="/img/one.png" class="img-responsive d-block"/>
</div>
<div class="carousel-item">
<img src="/img/two.png" class="img-responsive d-block"/>
</div>
</div>
</div>
</div>
<!-- SOLID LAYER ROW -->
<div class="row slide-layer-row">
<div class="slide-layer"></div>
</div>
</div>
位于CSS下方,用于定位.slide-layer-row
行div,它是轮播顶部的纯色层:
.home-slide {
position: relative;
}
.slide-layer-row {
background-color: #ccc;
position: absolute;
z-index: 10;
top: 0;
left: 0;
margin: 0;
bottom: 0;
right: 0;
}
我已经对齐了.slide-layer
,以便使用 jQuery 在轮播事件上使用以下代码来设置淡出动画:
$('#carousel-home').on('slide.bs.carousel', function () {
$(".slide-layer").css('background-color', '#ccc');
$(".slide-layer").hide("slide", { direction: "left" }, 1000);
});
$('#carousel-home').on('slid.bs.carousel', function () {
$(".slide-layer").css('background-color', 'rgba(0,0,0,0.5)');
});
向左滑动和淡出未发生。
这是 JSFiddle ( https://jsfiddle.net/kingBethal/s1g56bf0/8/ )。
帮帮我。
最佳答案
我所做的是将两个 div 放在 slide-layer-row
中(每个背景颜色一个),然后将整个内容移到上面以显示下一张幻灯片。然后在下一张幻灯片之前重置其位置。这样,您就不需要监视 slid-bs-carousel
事件。
https://jsfiddle.net/rgy64uwm/
如果您想要实心 block 的软快速淡入,您可以通过一些嵌套回调来实现。
https://jsfiddle.net/8eqkua9s/
<小时/>编辑:添加了代码片段。在此版本中,框大小会动态设置以匹配第一张图像。
var imageWidth = $('.carousel-item.active img').width();
$('.slide-layer-row').css('width', (imageWidth * 3 + 'px'));
$('.slide-layer-out').css('width', imageWidth + 'px');
$('.slide-layer-in').css('width', imageWidth * 2 + 'px');
$('#carousel-home').on('slide.bs.carousel', function() {
$('.slide-layer-out').animate({
'opacity': '1'
}, 300, function() {
$('.slide-layer-row').animate({
'left': -imageWidth + 'px',
}, 1000, function() {
$('.slide-layer-out').animate({
'opacity': '0.3'
}, 100, function() {
$(".slide-layer-row").css({
'left': '0',
})
})
});
})
});
.slide-images-row {
z-index: 0;
}
.home-slide {
position: relative;
overflow-x: hidden;
}
.slide-layer-row {
position: absolute;
z-index: 10;
top: 0;
left: 0;
margin: 0 !important;
height: 100%;
}
.slide-layer-out,
.slide-layer-in {
height: 100%;
display: inline-block;
position: relative;
background-color: rgba(100, 100, 100, 1);
opacity: 0.3;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/js/bootstrap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<div class="container-fluid home-slide no-gutters" id="home-slide">
<!-- IMAGES ROW -->
<div class="row slide-images-row">
<div id="carousel-home" class="carousel slide carousel-fade" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="https://homepages.cae.wisc.edu/~ece533/images/airplane.png" class="img-responsive d-block" />
</div>
<div class="carousel-item">
<img src="https://homepages.cae.wisc.edu/~ece533/images/boat.png" class="img-responsive d-block" />
</div>
</div>
</div>
</div>
<!-- SOLID LAYER ROW -->
<div class="row slide-layer-row">
<div class="slide-layer-out"></div>
<div class="slide-layer-in"></div>
</div>
</div>
关于jquery - 设为绝对:position div slide to left and fadeout - Bootstrap on WordPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59978405/
我正在尝试这个: var notifications = $( "#notifications" ); notifications.fadeOut("slow") .complete(func
我的印象是,下面的回调函数中的 css 规则只有在 fadeOut 完成后才会执行。事实似乎并非如此。回调函数中的行实际上是在单击时执行的。有什么想法我哪里出错了吗? $('a.close_link,
我有一个 ID 为 basket 的元素,当鼠标悬停在另一个元素上时,会显示另一个元素,但该元素既不是第一个元素的子元素,也不是第一个元素的直接同级元素。我希望这是有道理的。 当我将鼠标移出第一个或第
我有三个李: Don't show again 看起来是这样的: 当用户按下不再显示时,我想在 3 秒后删除这些 li-s。 所以我只需要删除它们的代码。
我收到此错误: Uncaught TypeError: Object [object Object] has no method 'fadeout' 这是我的代码: // Fade out the S
当我使用 jQuery fadeOut 方法时,我遇到了一个特殊的问题。 当我使用下面的代码时,它会淡出。 $('#id').fadeOut("慢"); 但是当我使用下面的代码时,它并没有淡出,它只是
当用户单击“否”时,我的 .fadeOut() 无法正常工作,我知道这是因为 div.confirm 嵌入了span,这是调用 .fadeIn() 函数的地方。 我正在开发一个需要此 HTML 层次结
基本上,我试图通知用户他们是否成功添加了他们的文件,并且通知在 3 秒后消失。问题是我的整个页面都消失了,而不仅仅是通知。它与我的其他页面一起工作,只是想知道为什么它在这个页面上的工作方式不同。 se
我一直在网上搜索,找不到我的问题的答案,所以我会尝试自己做,并希望最好! 我有一个提供欢迎然后淡出的主舞台,但我想在淡出消失的那一刻切换舞台!有人对此有答案吗? 下面的小代码可以更好地理解: impo
我使用以下 HTML 代码: User's email is duplicated! 设置警报超时的JS是, $scope.ErrorAlert = false; setTimeou
我有一个 它有一个 CSS 背景图像。在 CSS 中,我有 :hover 伪类来更改背景位置。 我想fadeIn和 fadeOut使用 jQuery 的两个不同的背景图像。我不想为背景位置设置动画,但
我正在尝试为我正在开发的博客制作一个导航菜单,目前我正在尝试将其设置为单击“主页”选项卡时其他两个选项卡淡出的位置。我不知道为什么这段代码不起作用,因为它是非常简单的几行代码。我不会添加 CSS,因为
我是新手,我只想在移动完成后在我的文本移动中添加淡出效果。但问题是我已经将@keyframe 淡出。和.fadeout。但它没有用。有什么帮助吗?谢谢。这是代码。 HTML Wat
非常简单的前提。我有一个 float 图像,我想显示它背后的图像。在 chrome 中工作正常,但在 FF 11 中不行。 $("#floater").fadeOut("slow");
我正在开发一个导航栏,上面有一个图像并且那里有链接。当用户悬停这些链接时,它会将背景更改为导航栏悬停图像,并通过 CSS 的 background-position 属性指定其位置。现在我想让我网站上
我的 slider 有一些问题。我有彩色 div(在原始元素中是图像)和上面的文字。我想要的是: 淡入背景色 文本淡入 淡出文本 淡出背景色。 听起来很简单,但我无法获得这种效果。我不能及时淡出文本,
我对 .attr jQuery 方法有疑问。我想在点击时创建 4 个事件:淡出、延迟、更改 src 属性和淡入。我有这段代码: $( "#button" ).click(function() {
我最近一直在玩 jQuery,我决定制作这个简单的待办事项列表应用程序。我的代码的问题是,当我检查不是第一项的元素时,fadeOut() 函数不起作用。然而,在检查第一项之后,它开始为所有其他元素工作
默认情况下,我隐藏了几个 DIV,然后当用户单击某个按钮时我将它们淡入。这很好用,但是当我尝试使用所述 .holder DIV 中的跨度关闭 .holder DIV 时,只有第一个有效。当我点击其他人
我有一个包含图像和 .png 纹理的主页,它是每个图像上的伪元素。我需要这个 .png 纹理在悬停时 FadeOut。按原样配置后,我该如何实现该功能?还是通过更改当前设置更容易实现? @import
我是一名优秀的程序员,十分优秀!