Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Lay Theme Forum

  1. Home
  2. Need Custom Coding for Lay Theme? Find 3rd Party Developers here.
  3. Help plugin - Swap Images on Hover JS

Help plugin - Swap Images on Hover JS

Scheduled Pinned Locked Moved Need Custom Coding for Lay Theme? Find 3rd Party Developers here.
2 Posts 2 Posters 118 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    leamarque
    wrote on last edited by leamarque
    #1

    Hi everybody,

    I'm trying to implement some JS into my website to swap images when mouse hover an image (js plugin) "https://www.jqueryscript.net/other/Swap-Images-Cursor-Move-Swinger.html" - I've tried the code with an online editor and it works. See code pen here : https://codepen.io/leamarque/pen/JjKERVq

    I've tried to follow the laytheme JS documentation but I don't seem to get it so I would love some help :)

    Here is what I've wrote into the head section and other screenshots to help you understand :
    Capture d’écran 2020-11-12 à 16.42.50.png
    Capture d’écran 2020-11-12 à 16.43.35.png
    bbebe23b-e33f-4177-9915-d0a8f4357591-image.png
    Here is what the console said:
    Capture d’écran 2020-11-12 à 16.48.28.png

    1 Reply Last reply
    0
    • K Offline
      K Offline
      kalamakumaran
      wrote on last edited by kalamakumaran
      #2

      Here you go!

      Put this in your custom js:

      <script>
          window.laytheme.on("newpageshown", function(layoutObj, type, obj){
          jQuery.fn.swinger = function () {
          return this.each(function () {
              var $container = jQuery(this);
              $container.css({
                  "position": "relative"
              });
              var $images = $container.find("img");
              $images.css({
                  "position": "absolute",
                  "top": "0%",
                  "left": "0%",
                  "width": "100%"
              });
              var $middleImage = jQuery($images[Math.floor($images.length / 2)]);
              $middleImage.css({
                  "z-index": "2",
                  "position": "relative"
              });
              var columnsCount = $images.length;
              $images.each((i, img) => {
                  var left = `${100 / columnsCount * i}%`;
                  var width = `${100 / columnsCount}%`;
                  var $column = jQuery(`<span style="z-index:999;position:absolute;top:0;bottom:0;left:${left};width:${width}"></span>`);
                  jQuery(img).after($column);
                  $column.hover(() => {
                      $images.css({
                          "z-index": "1",
                          "position": "absolute"
                      });
                      jQuery(img).css({
                          "z-index": "2",
                          "position": "relative"
                      });
                  });
              })
          });
      }
      });   
      </script>
      
      <script>
      window.laytheme.on("newpageshown", function(layoutObj, type, obj){
            jQuery(".img-area").swinger();
      });
      </script>
      

      Then add your images via "+More" > +HTML" in your laygridder. Give the row the class "img-area". Should work like this.

      1 Reply Last reply
      1
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      I also code custom websites or custom Lay features.
      💿 Email me here: 💿
      info@laytheme.com

      Before you post:
      1. When using a WordPress Cache plugin, disable it or clear your cache.
      2. Update Lay Theme and all Lay Theme Addons
      3. Disable all Plugins
      4. Go to Lay Options → Custom CSS & HTML, click "Turn Off All Custom Code", click "Save Changes"

      This often solves issues you might run into

      When you post:
      1. Post a link to where the problem is
      2. Does the problem happen on Chrome, Firefox, Safari or iPhone or Android?
      3. If the problem is difficult to explain, post screenshots / link to a video to explain it
      Online Users
      arminunruhA
      arminunruh
      Forgot your key, lost your files, need a previous Lay Theme or Addon version? Go to www.laykeymanager.com
      laytheme.com
      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Recent
      • Tags
      • Popular
      • Users
      • Search