晚上好,
抱歉,这可能是一个非常愚蠢的问题,我还在学习!
我正尝试将 Bootstrap 轮播中的活动幻灯片作为目标来执行某个操作。我希望它能触发三张幻灯片中每一张的一些样式更改,即更改按钮颜色等。
早些时候我试着用数字(#1, #2, #3
)来定位divs,但是总是被卡住,看起来像这样;
var shead = document.getElementById("sub-head");
if ($('#1').is(':visible') && $('#2').is(':hidden') && $('#3').is(':hidden')) {
shead.style.color = "blue";
}
我对每张幻灯片重复了这个过程,并对每个div使用了:visible
和:hidden
,尽管我似乎只在最后一次演示风格颜色变化时遇到了麻烦。
我做了一些搜索,我看到人们使用.carousel(1)
,但我似乎只是不断进入死胡同,有人能给予我一把吗,不知道为什么它没有赶上,任何指导将不胜感激。
超文本标记语言
<header id="Carousel" class="carousel slide carousel-fade">
<ol class="carousel-indicators">
<li data-target="Carousel" data-slide-to="0" class="active"></li>
<li data-target="Carousel" data-slide-to="1"></li>
<li data-target="Carousel" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="item active" id="1"></div>
<div class="item" id="2"></div>
<div class="item" id="3"></div>
</div>
</header>
Java脚本
if ($('#Carousel').carousel(1).hasClass('active')) {
alert("this is an alert");
}
2条答案
按热度按时间b1uwtaje1#
编辑:此答案是为Bootstrap 3编写的,但它也应该适用于bootstrap 4。有关bootstrap 4文档,请参见以下链接https://getbootstrap.com/docs/4.0/components/carousel/#events。
Bootstrap具有可以挂钩的自定义事件。
此事件将在方法将要滑动时激发。
还有一个
slid.bs.carousel
事件,当滑块完成滑动时调用该事件。您可以在www.example.com上了解它们之间的差异https://getbootstrap.com/docs/3.3/javascript/#carousel-events。
注意
ev
是事件对象,当事件被触发时,它被传递到onSlide
回调函数。注意名称ev
可以被更改为任何值,例如event
,它是回调函数中参数的顺序,决定了它的值,而不是它的名称。这里事件对象作为回调函数的第一个参数被传递。这不是由于上述代码相应地命名了参数ev
(尽管这有助于理解),但jQuery代码调用如何在事件处理程序中传递(事件处理程序是一种用于事件的回调形式)以及引导代码如何触发事件。事件对象具有常规JavaScript事件的公共属性,并且它具有这里在用于轮播事件的 Bootstrap 4文档中给出的附加属性(其当前属性在下面以及黄色引号块中示出)。方向:转盘滑动的方向(“左”或“右”)。
相关目标:作为活动项滑动到位的DOM元素。
from:当前项目的索引。
至:下一项的索引。
kxkpmulp2#
您可以使用自引导事件参数“from”和“to”获取如下索引: