我正在构建我的投资组合网站,并在案例研究页面上有一个Unslider.com图库。我希望用户能够单击我自己创建的下一个或上一个按钮,并将类名称调用为.next和.prev。这是我的JQuery代码。
jQuery(document).ready(function($) {
var slider = $('.gallery').unslider({
autoplay : true,
arrows : false,
nav : false,
animation : 'fade',
});
slider.on('unslider.ready', function() {
$(".prev").click(function() {
unslider('animate:prev');
});
});
slider.on('unslider.ready', function() {
$(".next").click(function() {
unslider('animate:next');
});
});
});
我知道Unslider带有下一个和上一个按钮,但我需要自己做这个以达到预期的效果。任何有关代码无效的建议都将受到赞赏。我知道JQuery click与正确的html元素相关联,因为我尝试在单击元素时向函数添加警报并正确显示警报。
谢谢, 杰米
答案 0 :(得分:7)
之前未使用过unslider,但我认为
unslider('animate:next');
和
unslider('animate:prev');
需要
slider.unslider('next');
和
slider.unslider('prev');
注意:您需要在您创建的滑块变量上引用unslider方法
答案 1 :(得分:1)
在点击功能中,您需要说:
$('.gallery').unslider('next');
这是因为您需要告诉Unslider您要控制哪个滑块,然后调用方法(next
,而不是animate:next
)。
答案 2 :(得分:0)
您可以将arrows
设置为true
(或从代码中移除arrows : false,
,因为默认为true
)...
您会看到Next
和Prev
链接,这些链接会更改幻灯片,只需按您喜欢的方式设置css
样式: - )
jQuery(document).ready(function($) {
var slider = $('.gallery').unslider({
autoplay : true,
nav : false,
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/unslider/2.0.3/js/unslider-min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/unslider/2.0.3/css/unslider.css" rel="stylesheet" />
<div class="gallery">
<ul>
<li>
<img src="http://unslider.com/img/cat1.jpg" alt="Cats!">
</li>
<li>
<img src="http://unslider.com/img/cat2.jpg" alt="Cats!">
</li>
<li>
<img src="http://unslider.com/img/cat3.jpg" alt="Cats!">
</li>
</ul>
</div>
你的初始化代码看起来像这样...(删除arrows : false,
,默认情况下是真的;-))
var slider = $('.gallery').unslider({
autoplay : true,
nav : false,
animation : 'fade',
});
答案 3 :(得分:0)
的新答案
我知道Unslider带有下一个和上一个按钮,但我需要自己做这个以达到预期的效果。
好了,现在你可能会看到一些非常漂亮的带有图标和自定义文字的箭头,在这种情况下,@ Alex Howes说你可能想要整合自定义功能。
现在,除了使用
slider.unslider('next');
和
slider.unslider('prev');
它不起作用,因为对于我unslider.ready
事件似乎没有触发,我们无需使用它,只需获取slider.on('unslider.ready', function() {
和});
之外的功能它就像一个魅力:)
您的代码看起来像这样......
jQuery(document).ready(function($) {
var slider = $('.gallery').unslider({
autoplay: true,
nav: false,
arrows: false,
});
$(".prev").click(function() {
slider.unslider('prev');
});
$(".next").click(function() {
slider.unslider('next');
});
});
.gallery {
position: relative;
}
.next,
.prev {
opacity: 0;
position: absolute;
top: 50%;
left: 5px;
font: 25px sans-serif;
color: #fff;
transition: opacity 500ms;
cursor: pointer;
text-shadow: 0 0 2px #000;
}
.gallery:hover .next,
.gallery:hover .prev {
opacity: 1;
}
.next {
left: auto;
right: 5px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/unslider/2.0.3/js/unslider-min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/unslider/2.0.3/css/unslider.css" rel="stylesheet" />
<div class="gallery">
<ul>
<li>
<img src="http://unslider.com/img/cat1.jpg" alt="Cats!">
</li>
<li>
<img src="http://unslider.com/img/cat2.jpg" alt="Cats!">
</li>
<li>
<img src="http://unslider.com/img/cat3.jpg" alt="Cats!">
</li>
</ul>
<div class='prev'><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous slide</div>
<div class='next'>Next slide <i class="fa fa-chevron-right" aria-hidden="true"></i>
</div>
</div>
希望有所帮助:)