У меня возникли проблемы с тем, чтобы этот запуск выполнялся один раз, я не уверен, что я делаю неправильно, так как раньше я добавил эффект высоты прокрутки, который работал нормально.
$(window).scroll(function() {
var y_scroll_pos = window.pageYOffset;
var scroll_pos_test = 450;
if(y_scroll_pos > scroll_pos_test) {
$('#coins').lazylinepainter(
{
"svgData": pathObj,
"strokeWidth": 4,
"strokeColor": "#8E9CCD"
}).lazylinepainter('paint');
}
Джон Ресиг имеет сообщение в блоге, в котором описывается, как правильно обрабатывать событие прокрутки, которое запускается несколько раз: http://ejohn.org/blog/learning-from-twitter/
Короче говоря, вам нужно периодически проверять, прокручивал ли пользователь и выполнял ли ваш код, если они это сделали. Ваш код должен выглядеть примерно так (взято из одного сообщения в блоге):
var outerPane = $details.find(".details-pane-outer"),
didScroll = false;
$(window).scroll(function() {
didScroll = true;
});
setInterval(function() {
if ( didScroll ) {
didScroll = false;
// Check your page position and then
// Load in more results
}
}, 250);