javascriptjqueryshopifyliquidscreen-size

Shopify liquid code, how to use screensize


I want to display radio boxes and dropdowns for selecting a variant on desktop and only dropdowns on mobile.

At the moment it displays the desktop variant on both. And I would have to differ within the liquid code which creates the dropdowns/radio boxes between the screen size. So that it can create the right elements.

But as liquid can not differ between it. I need a workaround for it.

I can also not put a around it and differ with js, because the liquid code in it does not work anymore.

Does someone know a workaround for that?

Thank you!


Solution

  • If anyone has the same problem as well, I found some sort of workaround.

    I create both needed elements (dropdown and radio boxes) for this one option and just remove one of them depending on the screen size:

    if (screen.width < 912) {
      var child = document.getElementById("packaging-selection-desktop");
      child.parentNode.removeChild(child);
    }
    else {
      var child = document.getElementById("packaging-selection-mobile");
      child.parentNode.removeChild(child);
    }