diff --git a/src/compiler/compile/render-dom/wrappers/Window.ts b/src/compiler/compile/render-dom/wrappers/Window.ts index 8c8e6c623d..c47f12593c 100644 --- a/src/compiler/compile/render-dom/wrappers/Window.ts +++ b/src/compiler/compile/render-dom/wrappers/Window.ts @@ -92,10 +92,10 @@ export default class WindowWrapper extends Wrapper { renderer.meta_bindings.add_block(deindent` if (${condition}) { - @_scrollTo(${x || '@_pageXOffset'}, ${y || '@pageYOffset'}); + @_scrollTo(${x || '@_window.pageXOffset'}, ${y || '@_window.pageYOffset'}); } - ${x && `${x} = @_pageXOffset;`} - ${y && `${y} = @_pageYOffset;`} + ${x && `${x} = @_window.pageXOffset;`} + ${y && `${y} = @_window.pageYOffset;`} `); block.event_listeners.push(deindent` @@ -148,9 +148,9 @@ export default class WindowWrapper extends Wrapper { ${scrolling} = true; @_clearTimeout(${scrolling_timeout}); @_scrollTo(${ - bindings.scrollX ? `ctx.${bindings.scrollX}` : `@_pageXOffset` + bindings.scrollX ? `ctx.${bindings.scrollX}` : `@_window.pageXOffset` }, ${ - bindings.scrollY ? `ctx.${bindings.scrollY}` : `@_pageYOffset` + bindings.scrollY ? `ctx.${bindings.scrollY}` : `@_window.pageYOffset` }); ${scrolling_timeout} = @_setTimeout(${clear_scrolling}, 100); } diff --git a/test/js/samples/window-binding-scroll/expected.js b/test/js/samples/window-binding-scroll/expected.js index ed76058ee2..fbe4596e2b 100644 --- a/test/js/samples/window-binding-scroll/expected.js +++ b/test/js/samples/window-binding-scroll/expected.js @@ -42,7 +42,7 @@ function create_fragment(ctx) { if (changed.y && !scrolling) { scrolling = true; clearTimeout(scrolling_timeout); - scrollTo(pageXOffset, ctx.y); + scrollTo(window.pageXOffset, ctx.y); scrolling_timeout = setTimeout(clear_scrolling, 100); }