• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

[MMM-Rainbow] Animated text color transition

Scheduled Pinned Locked Moved Entertainment
34 Posts 8 Posters 19.9k Views 8 Watching
Loading More Posts
  • 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.
  • G Offline
    ganget
    last edited by Jan 23, 2019, 12:39 AM

    I really like the idea of this module, I’m searching for the possibility to make only my clock have this effect and maybe a gradient kind of color shift. Can you help me with this idea?

    S C 2 Replies Last reply Jan 23, 2019, 2:36 AM Reply Quote 0
    • S Offline
      Seann Module Developer @ganget
      last edited by Jan 23, 2019, 2:36 AM

      @ganget Sure man, seems simple enough. You could always customize the clock module, or recreate your own and just add a class name to the clock, then alter MMM-Rainbow.js to only change the css for that module. I cheated when creating this module by using jQuery so it’s really simple to mess with. But if you do need any help, feel free to give me a message.

      G 1 Reply Last reply Jan 24, 2019, 11:12 PM Reply Quote 1
      • B Offline
        BKeyport Module Developer
        last edited by Jan 23, 2019, 2:52 AM

        Love the concept, actually. Would love to see it limited to the user’s choice of modules, however.

        The "E" in "Javascript" stands for "Easy"

        M 1 Reply Last reply Jan 23, 2019, 3:09 AM Reply Quote 0
        • M Offline
          Mykle1 Project Sponsor Module Developer @BKeyport
          last edited by Jan 23, 2019, 3:09 AM

          MMM-NOAA3 has been doing this for some time now, as an option

          Create a working config
          How to add modules

          B 1 Reply Last reply Jan 23, 2019, 10:40 AM Reply Quote 1
          • B Offline
            BKeyport Module Developer @Mykle1
            last edited by Jan 23, 2019, 10:40 AM

            @mykle1 doing what? I was referring to the original rainbow color. Would be cool to apply it to modules of choice.

            The "E" in "Javascript" stands for "Easy"

            S 1 Reply Last reply Jan 23, 2019, 4:38 PM Reply Quote 0
            • M Offline
              Mykle1 Project Sponsor Module Developer
              last edited by Jan 23, 2019, 12:22 PM

              @bkeyport said in [MMM-Rainbow] Animated text color transition:

              doing what? I was referring to the original rainbow color.

              Lets see. The topic states “[MMM-Rainbow] Animated text color transition” so I guess I was talking about that. Only noticed you because you mentioned me directly. I think @seann has done a fantastic job here. Joined the forum 8 days ago and already he’s contributing and offering his
              help to others. He and I are going get along just fine. :-)

              Create a working config
              How to add modules

              1 Reply Last reply Reply Quote 0
              • B Offline
                BKeyport Module Developer
                last edited by Jan 23, 2019, 12:23 PM

                So, you’re saying the NOAA weather app does rainbow colors for other modules?

                … Okay.

                The "E" in "Javascript" stands for "Easy"

                1 Reply Last reply Reply Quote 0
                • S Offline
                  Seann Module Developer @BKeyport
                  last edited by Jan 23, 2019, 4:38 PM

                  @bkeyport Also, this is easily done. I’ll work on this for you when I have some more free time. The only issue with doing it to the clock is; the current clock uses “updateDom” to set the time each second, which from what I have seen basically re creates the elements. Meaning the transitions start from when the element is created so it’s not in time with the other transitions. So it would be easier to create your own clock module which just replaces the innerHTML of each element instead of re creating them. I have been making my own clock which will display down to minutes instead of seconds as i’m sure this would cause less strain on my terrible Pi 3 a+.

                  J 1 Reply Last reply Jan 25, 2019, 8:52 AM Reply Quote 0
                  • B Offline
                    BKeyport Module Developer
                    last edited by Jan 23, 2019, 8:53 PM

                    Actually, I’d be more interested in the mechanics in getting it to work down to the module level more than anything, would be nice to use it for say “Grabbing Attention” in a particular module…

                    The "E" in "Javascript" stands for "Easy"

                    1 Reply Last reply Reply Quote 0
                    • G Offline
                      ganget @Seann
                      last edited by Jan 24, 2019, 11:12 PM

                      @seann I took a different approach to this, mainly because I only wanted to have it for only one module. I have changed my custom.css and one line in the clock.js, so it grabs a different style.
                      My code makes a gradient background which I clip to the text. Then to make it move across the text i use webkit-animation. I’m not totally satisfied with the result of the animation yet but i will keep tweaking that.

                      the animation moves way too fast now and when I make the animation duration longer it doesn’t feature all the colors of the gradient.
                      the only line i needed to change in the clock.js file

                      timeWrapper.className = "time clock-time-only-color large light";
                      

                      Custom.css (lines i added)

                      .clock-time-only-color {
                      	background-image: linear-gradient(to right, #ff0000,#ff4000,#ff8000,#ffbf00,#ffff00,#bfff00,#80ff00,#40ff00,#00ff00,#00ff40,#00ff80,#00ffbf,#00ffff,#00bfff,#0080ff,#0040ff,#0000ff,#4000ff,#8000ff,#bf00ff,#ff00ff,#ff00bf,#ff0080,#ff0040,#ff0000);
                      	-webkit-background-clip:  text;
                      	-webkit-animation: animate 3s linear infinite;
                      	background-size: 500%;
                      	color: transparent;
                      	
                      }
                      @-webkit-keyframes animate{
                      	0%	{background-position: 0% 500%;}
                      	50%	{background-position: 100% 0%;}
                      	100%    {background-position: 0% 100%;}
                      	}
                      
                      

                      Do you have any idea on how I can make the animation duration way longer like 10 min and still show all the colors in the gradient?

                      Thank you for the initial idea and for inspiring me!

                      S J 2 Replies Last reply Jan 24, 2019, 11:16 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 1 / 4
                      1 / 4
                      • First post
                        9/34
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy