Skip to content

This sample uses multiple Swipe components to create an seemingly infinite scroll between different Educational Attainment layers in Mexico.

How it works

For each layer loaded from a WebMap, a Swipe is created, and the layer is added to the trailingLayers.

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
// create a swipe component for each layer
const swipes = layers.map((layer) => {
  layer.visible = true;
  const swipe = document.createElement("arcgis-swipe");
  swipe.trailingLayers = [layer];
  // set other swipe properties
  return swipe;
});

When the user scrolls through the app, the leadingLayers and trailingLayers update as the Swipe's position changes to achieve the infinite scroll effect.

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
// To achieve this infinite scroll effect we need to swap the layers:
//   The layer starts at the bottom, the divider goes up.
//   Then the next layer starts to show up, so we put back the divider at the bottom and swap the layers.
if (position < 0 && swipe.trailingLayers.length) {
  swipe.leadingLayers.addMany(swipe.trailingLayers);
  swipe.trailingLayers.removeAll();
} else if (position >= 0 && swipe.leadingLayers.length) {
  swipe.trailingLayers.addMany(swipe.leadingLayers);
  swipe.leadingLayers.removeAll();
}

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.