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