如何在点击功能上调用javascript方法?

时间:2014-05-27 23:30:01

标签: javascript

我试图使用光滑的轮播(https://github.com/kenwheeler/slick)并且他们有一个方法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>

然而这不起作用,我无法弄清楚原因。感谢

8 个答案:

答案 0 :(得分:8)

实际上,RUS答案的一部分是正确的。它应该是:

<script type="text/javascript">
$('.fa-angle-right').click(function() {
    $('.fa-angle-right').slick('slickNext');
});
</script>

答案 1 :(得分:5)

所以你按下一个按钮试图让光滑的滑块移动到下一张幻灯片。对于处理.的行,您需要click,然后滑块会处理slickNext(),因此它应如下所示:

<script type="text/javascript">
$(".fa-angle-right").click(function(e) { // Added a '.'
    $(".slick-slider").slickNext(); // Switched to '.slick-slider'
});
</script>

答案 2 :(得分:3)

p = ->(x : Object) { x }
puts p.call(3)

答案 3 :(得分:3)

$('.fa-angle-right').slick('slickNext');

您首先调用光滑对象,然后始终传递参数&#34; slickNext。

答案 4 :(得分:1)

试试这个:

$("fa-angle-right").slick('slickNext');

答案 5 :(得分:1)

使用.slick('slickNext')代替.slickNext()应该可以解决问题:

<script type="text/javascript">
$(".fa-angle-right").click(function(e) { 
    $(".slick-slider").slick('slickNext'); 
});
</script>

答案 6 :(得分:0)

fa-angle-right是一个类型选择器。它将选择<fa-angle-right>个元素。

您的斜体元素(为什么使用斜体元素?!)是 fa-angle-right的成员,因此您需要使用以{}开头的a class selector .字符。

$(".fa-angle-right")

答案 7 :(得分:0)

此选择器不能正确$("fa-angle-right"),因为这意味着它会搜索名为的元素

我认为你想要的是必须以点开头的类选择器:

<script type="text/javascript">
$(".fa-angle-right").click(function(e) {
    $(".fa-angle-right").slickNext();
});
</script>

因此jQuery选择器的工作方式与CSS选择器非常相似:)