NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Shaking emotes for Twitch // @namespace https://github.com/antimYT/ // @version 1.0 // @license MIT // @icon https://static.twitchcdn.net/assets/favicon-75270f9df2b07174c23c.ico // @updateURL https://openuserjs.org/meta/antimYT/Shaking_emotes_for_Twitch.meta.js // @copyright 2018, antimYT (https://openuserjs.org//users/antimYT) // @author me // @match https://www.twitch.tv/* // @grant none // ==/UserScript== function NewStyle() { var style_keyframe = "@keyframes emoji { 0% {-webkit-transform: rotate(15deg); transform: rotate(15deg);} 50% {-webkit-transform: rotate(-15deg); transform: rotate(-15deg);} 100% {-webkit-transform: rotate(15deg); transform: rotate(15deg);}} "; var style_emoji = ".chat-image { animation: emoji 2s infinite; animation-timing-function: ease; }"; var styletext = '<style>' + style_keyframe + style_emoji + "</style>"; var body = document.getElementsByTagName("body")[0]; body.insertAdjacentHTML('beforeend', styletext); } window.addEventListener('load', function() { NewStyle(); });