6 if (this.hasAttribute("scrollamount")) return this.getAttribute("scrollamount"); return this.defaultScrollAmount; //default value is 6 pixels this.setAttribute("scrollamount", val); 85 this.setAttribute("scrolldelay", val); // since we changed the scrolldelay, restart the marquee this._doMove(false); "left" return this.directionField; // if val is false, don't change anything if (val) { // in case direction is swapped between horizontal/vertical, use // setAttribute to make the xbl bindings change. this.setAttribute("direction", val); // since we changed the direction, set startNewDirection to true this.startNewDirection = true; this.directionField = val.toLowerCase(); // pass in aSkipSettingNewPosition as true this._doMove(true); } "left" "scroll" return this.behaviorField; this.behaviorField = val ? val.toLowerCase() : this.defaultBehavior; "scroll" 1 0 0 0 0 0 true "0.9.7" this.stopAt) || (this.dirsign == -1 && this.newPosition < this.stopAt)) { if (this.behaviorField == "alternate") { // lets start afresh this.startNewDirection = true; // swap direction const swap = {left: "right", down: "up", up: "down", right: "left"}; this.directionField = swap[this.directionField]; } else { this.newPosition = this.startAt; } } if (!this.startNewDirection) { if ((this.directionField == "up") || (this.directionField == "down")) this.outerDiv.scrollTop = this.newPosition; else this.outerDiv.scrollLeft = this.newPosition; } var myThis = this; var lambda = function myTimeOutFunction(){myThis.start();} this.runId = window.setTimeout(lambda, this.scrollDelay); ]]>