Sunday, May 5, 2013

TechBit: Google Now arrives for iPhone and iPad - Washington Post (blog)

‘,                                        ’
‘]return ret.join (”);}function setCarouselContents () {        var paramUser = getParamUser ();        var recipe = “3″; / / s.getCookieForRecVidABTest ();        var paramABTestBucket = getParamABTestBucket (recipe);        var baseurl = “http://md1.washingtonpost.com” ;/ / “http://md1.washingtonpost.com”        / / The current url        var paramCurrentUrl = “& url =” + encodeURI (TWP.Data.NN.canonicalURL) ;/ / we have confirmation this is preferred over ‘href’        / / Test url – we need this especially for recipe 4. Other recipes may work at least partially with prodprev urls        / / Var paramCurrentUrl = “& url =” +        var rgUrlGetRecommendedVideos = [baseurl, "/ search-recommendation/videos.jsonp? callback =?", paramUse r, paramABTestBucket, paramCurrentUrl];        var urlGetRecommendedVideos = rgUrlGetRecommendedVideos.join (”);        $ . GetJSON (urlGetRecommendedVideos, function (data) {                if (data == null | | data.results == undefined | | data.results == null) {                        return;                }                / / Constants – the size of images, count of items per row                var itemsPerRow = 3;                / / The following five lines specify the size. Note that only those sizes automatically generated by Methode are supported./ / Var photoPathPrefix = “http://img.wpdigital.net/rf/image_172x114″;                var photoPathPrefix;                var maxPhotoWidth = 172;                var maxPhotoHeight = 114;                var photoWidth = maxPhotoWidth + “”;                var photoHeight = maxPhotoHeight + “”;                var maxPhotoHeightpx = maxPhotoHeight + “px”;                var minPhotoWidthpx = maxPhotoWidth + “px”;                var blankImageUrl = “http://img.wpdigital.net/wp-srv/images/spacer.gif”;                var results = data.results;                / / We want to only show full rows. It was decided partial rows look like an error.                var countResultsToShow = results.length = maxPhotoWidth && photo.path! = undefined && photo.path! = null) {                                photoPath = photo.path;                        }                        / / Construct the div, by concatenating the array        � �               var rgDiv = [''];                        arrayOfHtmlDivs [i] = rgDiv.join (”);                }                var rgFinal = new Array ();                var iRow = 0;                for (var i = 0; i ‘];                        var rowStart = rgRowStart.join (”);                        rgFinal.push (rowStart);                        for (var j = 0; j

“irow =” “rowofvideos =” rgFinal.join (”); “htmltoset =” getStartOfHtml () “/>

“;                / / $ (“# StoriesConnector”). Html (rowOfVideos);                var jCarousel = $ (“# recommended-videos-module”). after (htmlToSet);                / / JCarousel.find (‘. Carousel-control-prev’). Click (function () {alert (“Clicked prev”);});                / / $ (JCarousel). Find (‘. Carousel-control-prev’). Click (function () {alert (“Clicked prev2″);});                $ (‘# Btn-prev’). Click (function () {                        / / Alert (“button prev was clicked”);            moveCarousel (findRowContainer (this), -1);                });                $ (‘# Btn-next’). Click (function () {                        / / Alert (“button next was clicked”);             moveCarousel (findRowContainer (this), 1);                });        });    function findRowContainer (clicked) {        return $ (clicked). parents (‘. panel.postMost’). find (‘. stories-container’);    }    function findCurrentRow (rowContainer) {        return rowContainer.children (‘. on’). first ();    }    function findIndexLastRow (rowContainer) {        var rowCount = rowContainer.children (). length;        return rowCount == 0? 0: rowCount – 1;    }    function moveCarousel (rowContainer, delta) {        / / Moves the carousel to the next or previous row, depending on delta        / / Plan:        / / Find current Row        / / Figure out which row-to-select        / / If the row-to-select! = Current Row                / / Disable all buttons         � �      / / Fade out current row                / / Make row-to-select the current-row                / / Fade in row-to-select                / / Enable buttons based on current-row        / / Find current row        var curRow = findCurrentRow (rowContainer);                var indexLastRow = findIndexLastRow (rowContainer);        / / Figure out row to select        var indexCurRow = parseInt (curRow.attr (“rel”));        var indexRowToSelect = indexCurRow + delta;        if (indexRowToSelect indexLastRow) {            indexRowToSelect = indexLastRow;        }        / / Only proceed if there is a possible change        if (indexCurRow! = indexRowToSelect) {            / / Disable all buttons            $ (‘# Btn-prev’). AddClass (“deactivated”);                 $ (‘# Btn-next’). AddClass (“deactivated”);            / / Fade out current row            curRow.fadeOut (100, function () {                curRow.hide ();                / / Make row-to-select the current row                / / Remove class ‘on’                    rowContainer.children (‘. on’). removeClass (‘on’)                    / / Add class ‘on’                var rowNext = $ (rowContainer.children () [indexRowToSelect]);                    rowNext.addClass (‘on’);                / / Fade in the new row                rowNext.fadeIn (100, function () {                    rowNext.show ();                    / / Alert (“index row to select =” ; + indexRowToSelect + “, indexLastRow =” + indexLastRow);                    / / Enable buttons based on current row                    var enablePrev = indexRowToSelect! = 0;                    var enableNext = indexRowToSelect! = indexLastRow;                    if (enablePrev) {                        $ (‘# Btn-prev’). RemoveClass (“deactivated”);                    }                    if (enableNext) {                            $ (‘# Btn-next’). RemoveClass (“deactivated”);                    }                });            });        }    }}]]>

No comments:

Post a Comment

Random Post