使用引导轮播脚本无法读取未定义的属性“offsetWidth”

Posted

技术标签:

【中文标题】使用引导轮播脚本无法读取未定义的属性“offsetWidth”【英文标题】:Getting Cannot read property 'offsetWidth' of undefined with bootstrap carousel script 【发布时间】:2015-05-15 16:12:21 【问题描述】:

我用Bootstrap 3.3 创建了一个carousel,它可以在我的本地机器上运行,但是当我将整个东西上传到服务器上,其中引导js 文件与单个文件中的其他文件一起编译时,我得到了这个错误:

Cannot read property 'offsetWidth' of undefined - 有人遇到过这个问题吗?是否有任何已知的解决方案?

【问题讨论】:

你能链接到有错误的页面吗?或者你可以把它放在 jsFiddle 中吗? 【参考方案1】:

对我来说,这是因为我没有在任何幻灯片上设置 active 类。

【讨论】:

是的,这就是修复 :) 谢谢! 如果你编译 bootstrap,你可以通过编辑 carousel.js 来修复它 $next[0].offsetWidth // force reflow 更改为 if (typeof $next == 'object' && $next.length) $next[0].offsetWidth // force reflow 在我的情况下会影响活动类,而且它也可能会在包含加载之前导致问题潜水负载 太棒了!谢谢人 @fourgablesguy 嗨,我可以知道你的意思是什么 - 编译引导程序?如何手动编译引导程序?你的意思是构建整个项目吗?【参考方案2】:

对于我来说,我将class='carousel-item' 更改为class='item' 就像这样

<div class="item">
    <img class="img-responsive" src="..." >
</div>

【讨论】:

'carousel-item' 来自 v4 alpha 示例。出于这个原因,我把它留在里面,但添加了“项目”,所以它也可以在 v3 中使用 也为我工作。不知道为什么。 非常感谢!在为这个问题苦恼了一个多小时后,这也解决了我的问题。 我同时使用 BootStrap 4 和 3(长篇大论),因此添加 item 和 carousel-item 解决了我的问题(单独一个都不起作用)。 使用 pingendo.com 当前使用的 4 beta 1,并且必须在 carousel-item 旁边添加项目【参考方案3】:

在页面加载时删除“Carousal slide”类并在使用 jquery 加载图像时动态添加它。这对我来说是固定的

【讨论】:

我正在 jquery 中动态创建整个轮播 html 内容,但仍然出现相同的错误 请注意,我们需要使用 .carousel() 方法初始化轮播。【参考方案4】:

我遇到了同样的错误。因为我使用了 v4 alpha 类名称,例如 carousel-control-next 当我使用 v3 进行更改时,问题解决了。

【讨论】:

【参考方案5】:

我遇到了同样的错误,但在我的情况下,我将轮播项目的类名写为 .carousel-item,而 bootstrap.css 指的是 .item。 所以错误解决了。 carosel-item 重命名为 item

<div class="carousel-item active"></div>

重命名为:

<div class="item active"></div>

【讨论】:

【参考方案6】:

“更改为 if (typeof $next == 'object' && $next.length) $next[0].offsetWidth” - 没有帮助。 如果您将 Bootstrap 3 转换为 php(用于 WordPress 主题),则在添加 WP_Query ($loop = new WP_Query( $args );) 时插入 $count = 0;。并且在 endwhile 之前的结尾;添加 $count++;.

【讨论】:

【参考方案7】:

如果您使用的是编译后的引导程序,修复它的方法之一是在该行之前编辑 bootstrap.min.js

$next[0].offsetWidth 

强制回流更改为

if (typeof $next == 'object' && $next.length) $next[0].offsetWidth // force reflow

【讨论】:

以上是关于使用引导轮播脚本无法读取未定义的属性“offsetWidth”的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以停止引导轮播幻灯片的自动播放?

Hubspot 自定义模块和引导轮播

点击时如何更改引导轮播上的图像?

在活动引导轮播幻灯片中定位 iframe 元素并向 SRC 属性添加哈希?

引导轮播图像大小

我希望我的引导轮播在按下键盘左右箭头时滑动