我试图获得动态值,即scrollTop()和和text() - 将它们存储在数组中,然后稍后在滚动事件中使用它们。到目前为止,我有这个,似乎只是推动第一个价值。我确定还有其他一些使用更少代码的超高效方法,但我对此很陌生,只是试图理解它为什么不起作用。任何帮助将非常感激!萨米。动态获取值,即scrollTop()并存储在一个数组中
var $titleName = [];
var $titlePosition = [];
$('#section-title').each(function() {
$titleName.push($(this).text());
});
$('#section-title').each(function() {
$titlePosition.push($(this).offset());
});
$(window).scroll(function() {
windowScroll = $(this).scrollTop();
if (windowScroll >= $titlePosition[0].top) {
$tooltip.text($titleName[0]);
}
if (windowScroll >= $titlePosition[1].top - 100) {
$tooltip.text($titleName[1]);
}
if (windowScroll >= $titlePosition[2].top - 100) {
$tooltip.text($titleName[2]);
}
if (windowScroll >= $titlePosition[3].top - 100) {
$tooltip.text($titleName[3]);
}
});
http://jsfiddle.net/userdude/sTNJM/
'$('#节-title')。each ...'如果有多个'id =“section-title”'元素,则需要将这些元素切换到'.section-title'类。只允许一个'id'。这也许可以解释为什么只有一个元素正在发生变化。 – 2013-03-27 08:26:20