你好,我有问题。
我正在尝试在mouseenter
事件上更改Carousel实例的选项。我需要做什么才能重新渲染实例?
我的HTML:
<div class="carousel carousel-slider center">
<div class="carousel-fixed-item center">
<a class="btn waves-effect white grey-text darken-text-2">button</a>
</div>
<div class="carousel-item red white-text" href="#one!">
<h2>First Panel</h2>
<p class="white-text">This is your first panel</p>
</div>
<div class="carousel-item amber white-text" href="#two!">
<h2>Second Panel</h2>
<p class="white-text">This is your second panel</p>
</div>
<div class="carousel-item green white-text" href="#three!">
<h2>Third Panel</h2>
<p class="white-text">This is your third panel</p>
</div>
<div class="carousel-item blue white-text" href="#four!">
<h2>Fourth Panel</h2>
<p class="white-text">This is your fourth panel</p>
</div>
</div>
我的js:
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.carousel');
var instances = M.Carousel.init(elems, {
fullWidth: true,
indicators: false
});
});
document.querySelector('.carousel').
addEventListener('mouseenter', function(event) {
var elem = document.querySelector('.carousel');
M.Carousel.getInstance(elem).options.indicators = true;
});
以下是代码笔上的示例:https://codepen.io/bearwithme/pen/MWaOvbX
好吧,我首先初始化指标,然后用简单的CSS onhover隐藏和显示它们。 Waaaaaay比较容易。
如果您必须更改mouseenter的功能,则需要销毁实例并重新初始化:
instance.destroy();
var elems = document.querySelectorAll('.carousel');
var instances = M.Carousel.init(elems, {
fullWidth: true,
indicators: true
});