Javascript函数的顺序

Javascript函数的顺序,javascript,jquery,html,css,function,Javascript,Jquery,Html,Css,Function,我对Javascript有点问题。我有一个文章标题列表,当你点击一个标题时,相应的文章出现在右边(固定在页面顶部)。我已经使用Javascript将这些文章淡入淡出。我还有一个功能,当你向下滚动并点击一篇文章的标题时,它会将页面慢慢地向上滚动到顶部 我遇到的问题是,当页面向上滚动,同时文章发生变化时,两个页面上的动画都会变得非常不稳定,尤其是在Safari中。有没有办法让页面先滚动到顶部,然后再更改文章 我基本上是在问,是否有必要让我的Javascript函数一个接一个地运行,而不是同时运行 以

我对Javascript有点问题。我有一个文章标题列表,当你点击一个标题时,相应的文章出现在右边(固定在页面顶部)。我已经使用Javascript将这些文章淡入淡出。我还有一个功能,当你向下滚动并点击一篇文章的标题时,它会将页面慢慢地向上滚动到顶部

我遇到的问题是,当页面向上滚动,同时文章发生变化时,两个页面上的动画都会变得非常不稳定,尤其是在Safari中。有没有办法让页面先滚动到顶部,然后再更改文章

我基本上是在问,是否有必要让我的Javascript函数一个接一个地运行,而不是同时运行

以下是我的Javascript:

$(document).ready(function () {
   $('.scrollup').click(function () {
      $("body").animate({
         scrollTop: 0
      }, 'slow');
      return false;
   });
   $('.articlelist ul li').click(function() {
      var i = $(this).index();
      $('.fullarticle').fadeTo(500,0);
      $('#article' + (i+1)).fadeTo(500,1);
   });
});
任何帮助都将不胜感激


感谢您对
animate()
的调用,您希望添加一个函数以在完成时调用。JQuery提供的animate函数将函数作为可选参数。当动画完成时,调用该函数

您可以使用以下内容:

$('.scrollup').click(function () {
    $("body").animate({
        scrollTop: 0
    }, 'slow', showArticle);
    return false;
});

showArticle
是对一个函数的调用,该函数使文章淡入淡入,就像单击侦听器中的匿名文章一样。您可能需要某种方法来传递有关应显示哪篇文章的参数。

在调用
animate()
时,您希望添加一个函数,以便在完成时调用。JQuery提供的animate函数将函数作为可选参数。当动画完成时,调用该函数

您可以使用以下内容:

$('.scrollup').click(function () {
    $("body").animate({
        scrollTop: 0
    }, 'slow', showArticle);
    return false;
});

showArticle
是对一个函数的调用,该函数使文章淡入淡入,就像单击侦听器中的匿名文章一样。您可能需要某种方法来传递有关应显示哪篇文章的参数。

在调用
animate()
时,您希望添加一个函数,以便在完成时调用。JQuery提供的animate函数将函数作为可选参数。当动画完成时,调用该函数

您可以使用以下内容:

$('.scrollup').click(function () {
    $("body").animate({
        scrollTop: 0
    }, 'slow', showArticle);
    return false;
});

showArticle
是对一个函数的调用,该函数使文章淡入淡入,就像单击侦听器中的匿名文章一样。您可能需要某种方法来传递有关应显示哪篇文章的参数。

在调用
animate()
时,您希望添加一个函数,以便在完成时调用。JQuery提供的animate函数将函数作为可选参数。当动画完成时,调用该函数

您可以使用以下内容:

$('.scrollup').click(function () {
    $("body").animate({
        scrollTop: 0
    }, 'slow', showArticle);
    return false;
});

showArticle
是对一个函数的调用,该函数使文章淡入淡入,就像单击侦听器中的匿名文章一样。您可能需要一些方法来传递关于应该显示哪篇文章的争论。

我对这方面比较陌生,但我认为这可能有效。我要做的是将它们作为一个可调用函数封装起来,然后将一个函数作为回调传递给另一个函数

$(document).ready(function () {
scrollTop(showArticle());
});


function scrollTop(callback) {
    $('.scrollup').click(function () {
        $("body").animate({
            scrollTop: 0
        }, 'slow');
        callback;
    });
}

function showArticle() {
    $('.articlelist ul li').click(function () {
        var i = $(this).index();
        $('.fullarticle').fadeTo(500, 0);
        $('#article' + (i + 1)).fadeTo(500, 1);
    });
}

我对这方面比较陌生,但我认为这可能有用。我要做的是将它们作为一个可调用函数封装起来,然后将一个函数作为回调传递给另一个函数

$(document).ready(function () {
scrollTop(showArticle());
});


function scrollTop(callback) {
    $('.scrollup').click(function () {
        $("body").animate({
            scrollTop: 0
        }, 'slow');
        callback;
    });
}

function showArticle() {
    $('.articlelist ul li').click(function () {
        var i = $(this).index();
        $('.fullarticle').fadeTo(500, 0);
        $('#article' + (i + 1)).fadeTo(500, 1);
    });
}

我对这方面比较陌生,但我认为这可能有用。我要做的是将它们作为一个可调用函数封装起来,然后将一个函数作为回调传递给另一个函数

$(document).ready(function () {
scrollTop(showArticle());
});


function scrollTop(callback) {
    $('.scrollup').click(function () {
        $("body").animate({
            scrollTop: 0
        }, 'slow');
        callback;
    });
}

function showArticle() {
    $('.articlelist ul li').click(function () {
        var i = $(this).index();
        $('.fullarticle').fadeTo(500, 0);
        $('#article' + (i + 1)).fadeTo(500, 1);
    });
}

我对这方面比较陌生,但我认为这可能有用。我要做的是将它们作为一个可调用函数封装起来,然后将一个函数作为回调传递给另一个函数

$(document).ready(function () {
scrollTop(showArticle());
});


function scrollTop(callback) {
    $('.scrollup').click(function () {
        $("body").animate({
            scrollTop: 0
        }, 'slow');
        callback;
    });
}

function showArticle() {
    $('.articlelist ul li').click(function () {
        var i = $(this).index();
        $('.fullarticle').fadeTo(500, 0);
        $('#article' + (i + 1)).fadeTo(500, 1);
    });
}

我猜您希望在文章列表中保留单击功能,并且只有具有类scrollup的元素才有2个动画

$(document).ready(function () {

    $('.articlelist ul li').click(function () {
        var i = $(this).index();
        if ($(this).is(".scrollup")) {
            $("body").animate({
                scrollTop: 0
            }, 'slow', function () {//when animation completes
                fadeArticle(i);
            });
        } else {
            fadeArticle(i);
        }

    });

    function fadeArticle(i) {
        $('.fullarticle').fadeTo(500, 0);
        $('#article' + (i + 1)).fadeTo(500, 1);
    }
});

我猜您希望在文章列表中保留单击功能,并且只有具有类scrollup的元素才有2个动画

$(document).ready(function () {

    $('.articlelist ul li').click(function () {
        var i = $(this).index();
        if ($(this).is(".scrollup")) {
            $("body").animate({
                scrollTop: 0
            }, 'slow', function () {//when animation completes
                fadeArticle(i);
            });
        } else {
            fadeArticle(i);
        }

    });

    function fadeArticle(i) {
        $('.fullarticle').fadeTo(500, 0);
        $('#article' + (i + 1)).fadeTo(500, 1);
    }
});

我猜您希望在文章列表中保留单击功能,并且只有具有类scrollup的元素才有2个动画

$(document).ready(function () {

    $('.articlelist ul li').click(function () {
        var i = $(this).index();
        if ($(this).is(".scrollup")) {
            $("body").animate({
                scrollTop: 0
            }, 'slow', function () {//when animation completes
                fadeArticle(i);
            });
        } else {
            fadeArticle(i);
        }

    });

    function fadeArticle(i) {
        $('.fullarticle').fadeTo(500, 0);
        $('#article' + (i + 1)).fadeTo(500, 1);
    }
});

我猜您希望在文章列表中保留单击功能,并且只有具有类scrollup的元素才有2个动画

$(document).ready(function () {

    $('.articlelist ul li').click(function () {
        var i = $(this).index();
        if ($(this).is(".scrollup")) {
            $("body").animate({
                scrollTop: 0
            }, 'slow', function () {//when animation completes
                fadeArticle(i);
            });
        } else {
            fadeArticle(i);
        }

    });

    function fadeArticle(i) {
        $('.fullarticle').fadeTo(500, 0);
        $('#article' + (i + 1)).fadeTo(500, 1);
    }
});


使用回调函数逐个运行它们。请参阅并查看
complete
函数。使用回调函数逐个运行它们。请参阅并查看
complete
函数。使用回调函数逐个运行它们。请参阅并查看
complete
函数。使用回调函数逐个运行它们。查看并查看
complete
函数。它应该是
showArticle
,否则您会立即调用该函数。Tanks,我总是犯这个错误。我不确定我是否完全理解如何将这两个函数链接在一起?@user2798841我不确定您的确切意思。我编辑了我的答案,为
animate
函数回调参数提供了更多的解释。它应该是
showArticle
,否则你会立即调用该函数。我总是犯这个错误。我不确定我是否完全理解如何将这两个函数链接在一起?@user2798841我不确定你的确切意思。我编辑了我的答案,为
animate
函数回调参数提供了更多的解释。它应该是
showArticle
,否则你会立即调用该函数。我总是犯这个错误。我不确定我是否完全理解如何将这两个函数链接在一起?@user2798841我不确定你的确切意思。我编辑了我的答案,为
animate
函数回调参数提供了更多的解释。它应该是
showArticle
,否则你会立即调用该函数。我总是犯这个错误。我不确定我是否完全理解如何将这两个函数链接在一起?@user2798841我不确定是什么