GraceS1800 Posted December 27, 2021 Share Posted December 27, 2021 Hi all, I'm struggling to make this function work and would appreciate any and all help. I'm creating a site for a client and utilizing SS's portfolio function. I made a custom layout via CSS for the individual portfolio pages, and would like the owner of the site to be able to easily toggle these css modifications on or off on a specific page without having to write any code. At the top of the individual portfolio pages, I added a code block that looks like this: <div class="layout1"></div> Then, I wrote a jquery script (and have the jquery library referenced already in the sitewide footer injection) and it looks like this: <script> $(document).ready(function() { if ($("div").hasClass(".layout1")) { $("body").addClass(".layout1mods"); } </script> Essentially, if a page has a div with the class .layout1, I'd like the class .layout1mods to be added to the body of a page (thereby adding all of the other modifications that I've specified in the class .layout1mods. Please let me know if you have any ideas on how to make this work! Thank you. Beyondspace 1 Link to comment
Beyondspace Posted December 28, 2021 Share Posted December 28, 2021 14 hours ago, GraceS1800 said: Hi all, I'm struggling to make this function work and would appreciate any and all help. I'm creating a site for a client and utilizing SS's portfolio function. I made a custom layout via CSS for the individual portfolio pages, and would like the owner of the site to be able to easily toggle these css modifications on or off on a specific page without having to write any code. At the top of the individual portfolio pages, I added a code block that looks like this: <div class="layout1"></div> Then, I wrote a jquery script (and have the jquery library referenced already in the sitewide footer injection) and it looks like this: <script> $(document).ready(function() { if ($("div").hasClass(".layout1")) { $("body").addClass(".layout1mods"); } </script> Essentially, if a page has a div with the class .layout1, I'd like the class .layout1mods to be added to the body of a page (thereby adding all of the other modifications that I've specified in the class .layout1mods. Please let me know if you have any ideas on how to make this work! Thank you. I may suggest you replace this line if ($("div").hasClass(".layout1")) { with if ($("body").find("div.layout1").length) { BeyondSpace - Squarespace Website Developer 🖼️ Lightbox Studio (Enable Pinch/Zoom on lightbox, video lightbox and much more) 🗓️ Delivery Date Picker (Squarespace Date picker form field) 💫 Gallery block 7.1 workaround 🥳 No-code customisations for Squarespace (+100 Spark plugin customisations) 🥳 Freemium Squarespace Widget Templates (+1000 Elfsight Templates) If you find my answer useful, let's leave a like or upvote so others with the same issue can find their solution. Thank you! Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment