Make new page layout responsive; fix ticker
[blerg.git] / www / jssrc / blerg / Welcome.js
index 6b7f2ad..ece3d6f 100644 (file)
@@ -21,9 +21,9 @@ enyo.kind({
         {name: "contentBox", allowHtml: true},
         {classes: "latest", components: [
             {classes: "latest-posts", components: [
-                {classes: "latest-scroller", components: [
+                {name: "latestPostsScroller", classes: "latest-scroller", onmouseover: "pauseTicker", onmouseout: "startTicker", components: [
                     {tag: "h2", content: "Latest posts"},
-                    {name: "latestPosts", onmouseover: "pauseTicker", onmouseout: "startTicker"}
+                    {name: "latestPosts"}
                 ]}
             ]},
             {classes: "latest-tags", components: [
@@ -87,10 +87,17 @@ enyo.kind({
         req.go();
     },
     startTickerCycle: function() {
-        this.tickerTimeout = setTimeout(function() {
-            this.$.latestPosts.node.scrollTop = 0;
-            this.startTicker();
-        }.bind(this), 2500);
+        var starter = function() {
+            if (this.$.latestPostsScroller.hasNode()) {
+                var n = this.$.latestPostsScroller.node;
+                if (n.scrollTop >= n.scrollHeight - n.clientHeight)
+                    n.scrollTop = 0;
+                this.startTicker();
+            } else {
+                this.tickerTimeout = setTimeout(starter, 1000);
+            }
+        }.bind(this)
+        this.tickerTimeout = setTimeout(starter, 2500);
     },
     startTicker: function() {
         if (this.tickerInterval)
@@ -108,7 +115,7 @@ enyo.kind({
         this.tickerInterval = null;
     },
     ticker: function() {
-        var n = this.$.latestPosts.node;
+        var n = this.$.latestPostsScroller.node;
         if (n.scrollTop < n.scrollHeight - n.clientHeight) {
             n.scrollTop += 2;
         } else {