首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让我的函数在单击时执行

如何让我的函数在单击时执行
EN

Stack Overflow用户
提问于 2014-01-16 09:34:54
回答 2查看 69关注 0票数 1

我有一个简单的函数来循环,想了一堆Divs,让他们在里面和外面褪色。它工作得很好,但是我试图让这个函数在点击DIV时也能执行。

我想如果我做这样的事

代码语言:javascript
复制
$('.content').click(InfiniteRotator());

代码语言:javascript
复制
$('.content').click(function(){
InfiniteRotator();
});

但是没有什么幸运和建议是最值得赞赏的。

代码语言:javascript
复制
$(window).load(function() {

    function InfiniteRotator() {

        //initial fade-in time (in milliseconds)
        var initialFadeIn = 1000;

        //interval between items (in milliseconds)
        var itemInterval = 5000;

        //cross-fade time (in milliseconds)
        var fadeTime = 1000;

        //count number of items
        var numberOfItems = $('.quote').length;

        //set current item
        var currentItem = 0;

        //show first item
        $('.quote').eq(currentItem).fadeIn(initialFadeIn);

        //loop through the items
        var infiniteLoop = setInterval(function(){
         $('.quote').eq(currentItem).fadeOut(fadeTime);

            if(currentItem == numberOfItems -1){
                 currentItem = 0;
            } else{
                 currentItem++;
            }

            $('.quote').eq(currentItem).fadeIn(fadeTime);

        }, itemInterval);
    }

    InfiniteRotator();


    $('.content').click(InfiniteRotator());


});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-16 09:36:24

把这个函数的reference传递给你,

代码语言:javascript
复制
$('.content').click(InfiniteRotator);

顺便说一句,就像其他人提到的,下面的代码没有问题,

代码语言:javascript
复制
$('.content').click(function(){
   InfiniteRotator();
});
票数 3
EN

Stack Overflow用户

发布于 2014-01-16 09:37:55

代码语言:javascript
复制
$('.content').click(InfiniteRotator); //<----remove the "()" here

代码语言:javascript
复制
$('.content').click(function(){
    InfiniteRotator();
});

现在这两种方法都很好,但是您必须在中调用它,并且您可以将您的函数在全局范围内移到doc之外:

代码语言:javascript
复制
function InfiniteRotator() {
   // your function
}

$(function(){
   $('.content').click(InfiniteRotator); //<---here you can call it
});

您最好使用$(function(){})文档就绪处理程序而不是$(window).load(),因为这不会等待dom完全加载。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21158054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档