// DateFade.js // Javascript Behaviour for the DataFade Control // Copyright (c) by Matthias Hertel, http://www.mathertel.de // This work is licensed under a BSD style license. See http://www.mathertel.de/License.aspx // ----- // 08.08.2005 created by Matthias Hertel // 16.09.2006 context on event-methods is now set to the bound object. // 27.09.2006 datatypes support // 27.09.2006 fade.* renamed to datafade.* // 29.09.2006 precission support added // 23.06.2007 simplified, now inherits from jcl.DataOutputBehavior. // 18.12.2007 Simplifications and documentation. // 06.05.2015 Removing IE only currentStyle usage. // 15.02.2016 Removing fading with a timer by using CSS3 treansition. jcl.DataFadeBehavior = { /// <summary>Implementation of a JavaScript Behavior /// for a data output control that signals new values by showing a fading yellow /// background color.</summary> inheritFrom: jcl.DataOutputBehavior, /// <summary>Inherit from DataOutput.</summary> highcolor: "#FFFF00", /// <summary>The highlight color. The usually used yellow is the defaut value.</summary> _orgColor: null, init: function () { /// <summary>Initialze the JavaScript control.</summary> jcl.DataOutputBehavior.init.call(this); this._orgColor = window.getComputedStyle(this, null).getPropertyValue("background-color"); }, // init setData: function (val) { /// <summary>Overwrite the setData function to add a fading effect when the value has changed.</summary> var s = this.innerText; jcl.DataOutputBehavior.setData.call(this, val); this.style.transition = "all 0"; this.style.backgroundColor = this.highcolor; window.setTimeout(this._fade.bind(this), 50); }, // setData _fade: function () { /// <summary>Implementation of the fade effect by using CSS Transition.</summary> this.style.transition = "all 1s"; this.style.backgroundColor = this._orgColor; } // _fade }; // jcl.DataFadeBehavior
This page is part of the http://www.mathertel.de/ web site.
For updates and discussions see http://ajaxaspects.blogspot.com/.