gpt4 book ai didi

javascript - Bootstrap : "Cannot read property ' offsetWidth' of undefined"error with carousel

转载 作者:行者123 更新时间:2023-11-28 07:15:46 34 4
gpt4 key购买 nike

我在轮播中使用多个 Bootstrap:

<div id="carousel-586" class="carousel slide carousel-block" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carousel-586" data-slide-to="0" class="active"></li>
<li data-target="#carousel-586" data-slide-to="1"></li>
<li data-target="#carousel-586" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">
<img src="..." alt="...">
</div>
<div class="item">
<img src="..." alt="...">
</div>
<div class="item">
<img src="..." alt="...">
</div>
</div>
<!-- Controls -->
<a class="left carousel-control" href="#carousel-586" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-586" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>

但是,我在 JavaScript 中收到错误:

Uncaught TypeError: Cannot read property 'offsetWidth' of undefined

我发现了一些类似的问题( 12 ),但它们似乎不适用于我。

尽管存在错误,但轮播功能正常,但我更想知道导致错误的原因并修复它们。

任何建议都会很棒。

最佳答案

我在谷歌上搜索了同样的问题,发现了这个问题。我有三个不同的轮播,它们显示在同一个容器 div 元素中。我使用 jQuery.toggle() 隐藏其中两个,并且当时只显示其中之一。用户可以使用切换按钮在不同的轮播之间切换。

虽然这个问题没有解决我的问题,但我想我会分享我的解决方案,以便下一个人遇到这个问题。显然,您必须在所有三个轮播上设置“active”类,无论它们是否可见。我最终得到了以下标记(基本上)。

<div id="carousel-container">
<div id="carousel1" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li class="active" data-target="#carousel1" data-slide-to="1"></li>
<li data-target="#carousel1" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">...</div>
<div class="item">...</div>
</div>
</div>
<div id="carousel2" class="carousel slide" data-ride="carousel" style="display:none;">
<ol class="carousel-indicators">
<li class="active" data-target="#carousel2" data-slide-to="1"></li>
<li data-target="#carousel2" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">...</div>
<div class="item">...</div>
</div>
</div>
<div id="carousel3" class="carousel slide" data-ride="carousel" style="display:none;">
<ol class="carousel-indicators">
<li class="active" data-target="#carousel3" data-slide-to="1"></li>
<li data-target="#carousel3" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">...</div>
<div class="item">...</div>
</div>
</div>
</div>

要点是,尽管 ID 为“carousel2”和“carousel3”的 div 的显示属性均设置为“none”,但它们仍然需要具有类“active”的元素(以及相应的导航/轮播)指标)。希望它能帮助某人。

关于javascript - Bootstrap : "Cannot read property ' offsetWidth' of undefined"error with carousel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30845815/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com