如何在单击函数时调用javascript方法?
我正在尝试使用slick carousel(),他们有一个方法如何在单击函数时调用javascript方法?,javascript,Javascript,我正在尝试使用slick carousel(),他们有一个方法slickNext(),它会触发旋转木马中的下一张幻灯片 现在,我的html文件如下所示: <div class="slick-slider"> <div><%= image_tag "1.jpg"%></div> <div><%= image_tag "1.jpg"%></div> <div><%= image_tag
slickNext()
,它会触发旋转木马中的下一张幻灯片
现在,我的html文件如下所示:
<div class="slick-slider">
<div><%= image_tag "1.jpg"%></div>
<div><%= image_tag "1.jpg"%></div>
<div><%= image_tag "1.jpg"%></div>
</div>
<i class="fa fa-angle-right"></i>
<script type="text/javascript">
$("fa-angle-right").click(function(e) {
$("fa-angle-right").slickNext();
});
</script>
<script type="text/javascript">
$(document).ready(function(){
$('.slick-slider').slick({
dots: true
});
(jQuery)});
</script>
$(“右外角”)。单击(函数(e){
$(“fa直角”).slickNext();
});
$(文档).ready(函数(){
$('.slick slider')。slick({
圆点:对
});
(jQuery)});
然而,这是行不通的,我真的不明白为什么。感谢您,fa angle right是一个类型选择器。它将选择
元素
您的斜体元素(为什么使用斜体元素?!)是类的成员fa angle right
,因此您需要使用以
字符开头的字符
$(".fa-angle-right")
此选择器不能正确
$(“fa角度右侧”)
,因为这意味着它将搜索名为的元素
我认为您需要的是类选择器,它必须以点开头:
<script type="text/javascript">
$(".fa-angle-right").click(function(e) {
$(".fa-angle-right").slickNext();
});
</script>
$(“.fa直角”)。单击(函数(e){
$(“.fa直角”).slickNext();
});
因此jQuery选择器的工作方式与CSS选择器非常相似:)因此您按下一个按钮,试图让滑动滑块移动到下一张幻灯片。处理
单击的行需要
,然后滑块处理slickNext()
,因此应如下所示:
<script type="text/javascript">
$(".fa-angle-right").click(function(e) { // Added a '.'
$(".slick-slider").slickNext(); // Switched to '.slick-slider'
});
</script>
$(“.fa角度右”)。单击(函数(e){//添加了一个“.”
$(“.slick slider”).slickNext();//切换到“.slick slider”
});
试试这个:
$("fa-angle-right").slick('slickNext');
事实上,罗斯的部分答案是正确的。应该是:
<script type="text/javascript">
$('.fa-angle-right').click(function() {
$('.fa-angle-right').slick('slickNext');
});
</script>
$('.fa右角')。单击(函数(){
$('.fa角右').slick('slickNext');
});
使用.slick('slickNext')
而不是.slickNext()
应该可以做到以下几点:
<script type="text/javascript">
$(".fa-angle-right").click(function(e) {
$(".slick-slider").slick('slickNext');
});
</script>
$(“.fa角度右”)。单击(函数(e){
$(“.slick滑块”).slick('slickNext');
});
您必须首先调用slick对象,然后传递参数“slickNext always”。另外,您不希望click方法调用$('.slick slider')。slickNext()
?我将点添加到fa角度右侧,但仍然不起作用。但是,我正在尝试在单击图标时触发下一张幻灯片,那么为什么我需要调用幻灯片本身的操作呢?抱歉,我不太了解JavaScription。没关系,我也是一名新手。您正在单击图标,但希望滑块移动到next slide。所以我只是添加了这个,并删除了整个fa angle right脚本?我会留下一个答案,假设我认为它应该如何工作……不确定它是否是旧版本,但目前,您调用类似这样的slick方法:$('.slick slider').slick('slickNext'))我从来没有真正使用过SLIK,只是从一个通用的jQuery /JS立场回答了这个问题,并回答了上面提到的问题。请考虑编辑您的帖子,以添加更多关于您的代码所做的解释以及为什么它会解决这个问题。一个答案几乎只包含代码(即使它正在工作)。通常不会帮助OP理解他们的问题。我想将此标记为答案,只是因为文档中提到了这一点……但我无法让它使用此代码。请添加一个解释,说明这是如何回答问题的。不要只删除一段代码。此函数是否有类似调用func的回调当幻灯片完全移动时单击。我认为后更改是您需要的。//在幻灯片更改后单击$('.your element')。在('afterChange',function(event,slick,currentSlide,nextSlide){console.log(“change occurrent”);});查看slick网站上的事件()这就是下一步的回调,即使我点击箭头,我也需要回调,只有当我实际调用上述方法时才需要回调。不,如果你以编程方式调用幻灯片更改,你将需要创建自己的回调。应该不会太难,只要启动计时器,在调用事件和dis时,不断检查当前图像是否已更改计时器的姿势。
<script type="text/javascript">
$(".fa-angle-right").click(function(e) {
$(".slick-slider").slick('slickNext');
});
</script>
$('.fa-angle-right').slick('slickNext');