', '
'] return ret.join(''); } function setCarouselContents(){ var paramUser = getParamUser(); var recipe = 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=" + encodeURI("/entertainment/tv/tbss-men-at-work-a-rerun-before-its-even-started/2012/05/23/gJQAcSedkU_story.html"); var rgUrlGetRecommendedVideos = [baseurl, "/search-recommendation/videos.jsonp?callback=?", paramUser, 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 = 4; //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 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 = photoPathPrefix + 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
"; //$("#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