Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JQuery访问最后一张幻灯片时,如何不显示下一张幻灯片?_Javascript_Jquery_Html_Css_Slideshow - Fatal编程技术网

Javascript 使用JQuery访问最后一张幻灯片时,如何不显示下一张幻灯片?

Javascript 使用JQuery访问最后一张幻灯片时,如何不显示下一张幻灯片?,javascript,jquery,html,css,slideshow,Javascript,Jquery,Html,Css,Slideshow,我对JQuery的编码非常熟悉 我想做的是防止在到达最后一张幻灯片时显示下一张幻灯片(即幻灯片放映的第一张幻灯片)(如此旋转木马:)。我所做的唯一一件事是防止在添加css类的第一张/最后一张幻灯片中显示上一张/下一张按钮(“JQuery中的.owl prev/.owl next”)。当最后一张幻灯片到达时,我试图隐藏下一张幻灯片,但不起作用。有人能帮我吗 以下JQuery实际用于隐藏按钮,css类用于隐藏按钮和html旋转木马: $(文档).ready(函数(){ $(.owl carouse

我对JQuery的编码非常熟悉

我想做的是防止在到达最后一张幻灯片时显示下一张幻灯片(即幻灯片放映的第一张幻灯片)(如此旋转木马:)。我所做的唯一一件事是防止在添加css类的第一张/最后一张幻灯片中显示上一张/下一张按钮(“JQuery中的.owl prev/.owl next”)。当最后一张幻灯片到达时,我试图隐藏下一张幻灯片,但不起作用。有人能帮我吗

以下JQuery实际用于隐藏按钮,css类用于隐藏按钮和html旋转木马:

$(文档).ready(函数(){
$(.owl carousel”).on('initialized.owl.carousel changed.owl.carousel refreshed.owl.carousel',函数(事件){
如果(!event.namespace)返回;
var carousel=event.relatedTarget,
元素=event.target,
current=carousel.current();
$('.owl next',element).toggleClass('disabled',current==carousel.max());
$('.owl prev',element).toggleClass('disabled',current==carousel.minimum());
});
.owl导航.owl-prev.disabled,
.owl nav.owl-next.disabled{
显示:无;
可见性:隐藏;
}

您是否尝试过将转盘上的“循环”属性设置为关闭状态

文件:

更新:

我明白了,那么您可以尝试以下方法来更新其设置:

var $carousel = $('.owl-carousel');
var owl = $carousel.data();
owl["owl.carousel"].options.loop = false;
owl["owl.carousel"].refresh();

不知道这是否是修复它的最佳方法,但它对我很有效。

你这样做怎么样:

<div class="owl-carousel owl-theme">
<div class="item"><h4>1</h4></div>
<div class="item"><h4>2</h4></div>
<div class="item"><h4>3</h4></div>
<div class="item"><h4>4</h4></div>
<div class="item"><h4>5</h4></div>
<div class="item"><h4>6</h4></div>
<div class="item"><h4>7</h4></div>
<div class="item"><h4>8</h4></div>
<div class="item"><h4>9</h4></div>
<div class="item"><h4>10</h4></div>
<div class="item"><h4>11</h4></div>
<div class="item"><h4>12</h4></div>

请注意循环:false属性,您不必订阅不同的旋转木马事件。

您的JQuery不会发生任何问题。请注意,我使用的是7主题中包含的wordpress插件以及任何.owlCarousel事件。这就是为什么我要搜索不需要owl旋转木马自己事件的JQuery事件。可能有用吗ur JQuery“已翻译”不使用owl旋转木马自己的事件的Javascript。谢谢!我不能使用循环属性,因为owl旋转木马事件、属性和类都不适合我。请注意,我使用了7主题中包含的wordpress插件,这就是为什么我搜索不需要owl旋转木马自己的事件的JQuery事件。谢谢你的帮助我已经更新了对ad的回答根据您的情况,让我知道它是否有用。仍然不起作用,我还尝试了:owl[“owl.carousel”].rotate=false;owl[“owl.carousel”].infinite=false;但它们都不起作用。我使用此函数得到了唯一可见的结果:if(current==carousel.max(){var$carousel=$('.owl carousel');var owl=$carousel=$carousel.data();owl[“owl.carousel”].options.loop=false;owl[“owl.carousel”].refresh();}但是使用它,我有一个控制台错误:“Uncaught RangeError:超过了最大调用堆栈大小”。有没有办法修复它?谢谢!这很奇怪,你能尝试触发刷新事件吗:?$('.owl carousel').data('owl.carousel').options.loop=false$('.owl carousel').trigger('refresh.owl.carousel');可能尝试使用另一个设置(如options.nav)而不是options.loop来检查您的旋转木马上是否有更改。我使用另一个内置无限循环的插件(7主题中的高级旋转木马)找到了解决方案,并且我分配了这个css类。slick已禁用{显示:无;可见性:隐藏;}在到达第一张/最后一张幻灯片时禁用箭头。
$('.owl-carousel').owlCarousel({
loop:false,
margin:10,
nav:false })