The 25 Best Restaurants in Greater Cincinnati Right Now, According to Yelp

Posted by:

Category:

Comments:

Post Date:


The 25 Best Restaurants in Greater Cincinnati Right Now, According to Yelp

At CityBeat, we know a thing or two about picking the best-of-the-best restaurants, but Yelp is its own beast worthy of attention. From high-end eats to cozy brunch spots and delicious burgers, here are the top 25 Greater Cincinnati restaurants Yelpers say you should dine at right now.

*Note: This was the list at the time of publication. Based on ongoing input, restaurant locations in this Yelp list may change.

25. The Baker’s Table 1004 Monmouth St., Newport “What a hidden treat in this neighborhood; if you are a foodie and love eclectic menus - this place is for you. We both did the 3 course prix fixe. They start by bringing you warm bread with soft salted butter and olives, which who doesn't love that? I did the summer melons, lamb sausage rigatoni & the grilled mushrooms. All were divine but the lamb sausage rigatoni was perfectly Al dente & the spice level was perfect. Melons were juicy and seasoned well and the vegetarian course 3 was so filling (I could bathe in the eggplant purée). My husband did farmer Eli's tomatoes, pansotti and the salmon. He raved over all of it, but my personal favorite of all the bites was the Eli's tomatoes - the textures of the tomatoes paired with the Austrian green peas & aioli was perfection. The seasoning was perfect. If we are in the area, we will be coming back and enjoying whatever is in season at the time! Photo: Facebook.com/BakersTableNewport

25. The Baker’s Table

1004 Monmouth St., Newport
“What a hidden treat in this neighborhood; if you are a foodie and love eclectic menus - this place is for you. We both did the 3 course prix fixe. They start by bringing you warm bread with soft salted butter and olives, which who doesn't love that? I did the summer melons, lamb sausage rigatoni & the grilled mushrooms. All were divine but the lamb sausage rigatoni was perfectly Al dente & the spice level was perfect. Melons were juicy and seasoned well and the vegetarian course 3 was so filling (I could bathe in the eggplant purée). My husband did farmer Eli's tomatoes, pansotti and the salmon. He raved over all of it, but my personal favorite of all the bites was the Eli's tomatoes - the textures of the tomatoes paired with the Austrian green peas & aioli was perfection. The seasoning was perfect. If we are in the area, we will be coming back and enjoying whatever is in season at the time!"

1 of 25

24. Truva Turkish Kitchen 8060 Montgomery Road, Suite 400, Kenwood “Wow. This place is exquisite! The service is great and they are friendly. The ambiance is elegant and welcoming. The food is phenomenal! We went twice within a week. The first time just to try it and the second to bring my family from out of town. We told them it's a must try while they were visiting. We live about 25-30 min away but it's one of our new favorite places to go in Kenwood. The appetizer and the platters for 2 or 4 were a nice variety of the menu and plenty of food. It all tasted very fresh. The chicken kebab the first time was dried out and a little hard. But the second time we went it was very good. So maybe it was just a off day the first time. Highly recommend this spot and wish they had one closer! Photo: facebook.com/Truva Cafe Mediterranean

24. Truva Turkish Kitchen

8060 Montgomery Road, Suite 400, Kenwood
“Wow. This place is exquisite! The service is great and they are friendly. The ambiance is elegant and welcoming. The food is phenomenal! We went twice within a week. The first time just to try it and the second to bring my family from out of town. We told them it's a must try while they were visiting. We live about 25-30 min away but it's one of our new favorite places to go in Kenwood. The appetizer and the platters for 2 or 4 were a nice variety of the menu and plenty of food. It all tasted very fresh. The chicken kebab the first time was dried out and a little hard. But the second time we went it was very good. So maybe it was just a off day the first time. Highly recommend this spot and wish they had one closer!" -Stephanie W.

2 of 25

23. Coppin’s 638 Madison Ave., Covington “When the hotel restaurant's bar menu is twice the size of the food menu, I get a little nervous tbh. But, we quickly learned they just focus on doing what they do really well. Try the Liquid Knowledge cocktail. Essentially a mule, but next level. It was served in a custom Rookwood Pottery mug with a gorgeous floral garnish. Our gnocchi was perfectly prepared as was the salmon added on top. Presentation was gorgeous! Their best seller had to be the burger. We saw so many being delivered to nearby tables. They're HUGE. Imagine a burger piled as high as Marge Simpson's beehive. Yup. If you go after dark, the magical, twinkling lights add so much charm.” -Susan O.

Photo: Hailey Bolliger

23. Coppin’s

638 Madison Ave., Covington
“When the hotel restaurant's bar menu is twice the size of the food menu, I get a little nervous tbh. But, we quickly learned they just focus on doing what they do really well. Try the Liquid Knowledge cocktail. Essentially a mule, but next level. It was served in a custom Rookwood Pottery mug with a gorgeous floral garnish. Our gnocchi was perfectly prepared as was the salmon added on top. Presentation was gorgeous! Their best seller had to be the burger. We saw so many being delivered to nearby tables. They're HUGE. Imagine a burger piled as high as Marge Simpson's beehive. Yup. If you go after dark, the magical, twinkling lights add so much charm.” -Susan O.

3 of 25

22. Ivory House 2998 Harrison Ave., Westwood ”I've been to The Ivory house 3 times and each time they never disappoint. Most recently I tried [the] salmon, my favorite Cesar salad, and the braised carrots. I had a margarita with a gran marnier float! The ambiance is lovely. The staff are friendly. I would say try it!” -MiMi B.

Hailey Bollinger

22. Ivory House

2998 Harrison Ave., Westwood
”I've been to The Ivory house 3 times and each time they never disappoint. Most recently I tried [the] salmon, my favorite Cesar salad, and the braised carrots. I had a margarita with a gran marnier float! The ambiance is lovely. The staff are friendly. I would say try it!” -MiMi B.

4 of 25

21. Maki Mono Covington 715 Madison Ave., Covington “I love it! I've been here twice and both experiences were great. The staff is friendly and attentive. The atmosphere is clean and simple. The food is fresh and delicious. The sake selection is incredible. This is a great choice for any sushi lover.” -Lia V. Photo: facebook.com/Maki Mono Covington

21. Maki Mono Covington

715 Madison Ave., Covington
“I love it! I've been here twice and both experiences were great. The staff is friendly and attentive. The atmosphere is clean and simple. The food is fresh and delicious. The sake selection is incredible. This is a great choice for any sushi lover.” -Lia V.

5 of 25

20. The Well Covington 8 W. Seventh St, Covington “This bar is a great addition to the Covington scene. Tons of TVs for all of your sports needs, cocktails were excellent and at a great price, and a light bites menu coming soon! They have a cute outdoor patio that is gonna be killer in the summer.” -Kristin P. Photo: facebook.com/The Well Covington

20. The Well Covington

8 W. Seventh St, Covington
“This bar is a great addition to the Covington scene. Tons of TVs for all of your sports needs, cocktails were excellent and at a great price, and a light bites menu coming soon! They have a cute outdoor patio that is gonna be killer in the summer.” -Kristin P.

6 of 25

19. Bakersfield 1213 Vine St., Over-the-Rhine “My husband I love Bakersfield!! Their guacamole is the absolute best, so make sure to order some. The tacos are small, but very flavorful. Drinks are good, too! The service is always friendly and coming here never disappoints. The atmosphere can get somewhat loud, so definitely keep that in mind.” -Sandra P.

Photo: Hailey Bollinger

19. Bakersfield

1213 Vine St., Over-the-Rhine
“My husband I love Bakersfield!! Their guacamole is the absolute best, so make sure to order some. The tacos are small, but very flavorful. Drinks are good, too! The service is always friendly and coming here never disappoints. The atmosphere can get somewhat loud, so definitely keep that in mind.” -Sandra P.

7 of 25

18. Alcove 1410 Vine St., Over-the-Rhine “Looooooved our experience at Alcove, our server totally made the meal so much better with high-quality service! Hospitality is a 10 out of 10. As for the food, undeniably great. Everything. Kids Mac and Cheese portion was huge and delicious (ask me how I know ;)), chia and oats pudding with grape and Meyer lemon jam, hash brown casserole balls and goetta... all delicious.” -Rebecca M.

Photo: Hailey Bollinger

18. Alcove

1410 Vine St., Over-the-Rhine
“Looooooved our experience at Alcove, our server totally made the meal so much better with high-quality service! Hospitality is a 10 out of 10. As for the food, undeniably great. Everything. Kids Mac and Cheese portion was huge and delicious (ask me how I know ;)), chia and oats pudding with grape and Meyer lemon jam, hash brown casserole balls and goetta... all delicious.” -Rebecca M.

8 of 25

17. Maplewood Kitchen and Bar 525 Race St., Downtown “Amazing brunch spot in downtown Cincy. Lots of quality meals to choose from, reasonable prices, and friendly staff. We ordered a whole bunch of different options (lemon ricotta pancakes, chicken tinga, eggs your way) and all of them tasted fantastic. Plus, they only took 10 mins or so and we didn't have to wait for a table. All around great experience - highly recommend.” -Alexander B. Photo: facebook.com/Maplewood Kitchen and Bar

17. Maplewood Kitchen and Bar

525 Race St., Downtown
“Amazing brunch spot in downtown Cincy. Lots of quality meals to choose from, reasonable prices, and friendly staff. We ordered a whole bunch of different options (lemon ricotta pancakes, chicken tinga, eggs your way) and all of them tasted fantastic. Plus, they only took 10 mins or so and we didn't have to wait for a table. All around great experience - highly recommend.” -Alexander B.

9 of 25

16. The Littlefield 3934 Spring Grove Ave., Northside “Food was great, service even better. I'm from the south and this has to be one of the best fried chicken sandwiches I've ever tasted...overall balance of flavors, little heat, and size of the portion. Very surprised to find this spot on my work travels.” -Wes N.

Photo: Hailey Bollinger

16. The Littlefield

3934 Spring Grove Ave., Northside
“Food was great, service even better. I'm from the south and this has to be one of the best fried chicken sandwiches I've ever tasted...overall balance of flavors, little heat, and size of the portion. Very surprised to find this spot on my work travels.” -Wes N.

10 of 25

15. Delwood 3204 Linwood Ave., Mt. Lookout “I have been hearing rave reviews about the burger at Delwood so I finally went there for dinner with my husband and another couple and WOW did the burger meet our expectations!! It is my new favorite burger in Cincinnati! Juicy meat, great bun, amazing sauce - it's the perfect combination! We also started with cocktails, wine, and two apps: yuca fries and crispy brussels sprouts. All were very good! The glasses of sauvignon blanc were cold and crisp!” -Stephanie M.

Photo: Brittany Thornton

15. Delwood

3204 Linwood Ave., Mt. Lookout
“I have been hearing rave reviews about the burger at Delwood so I finally went there for dinner with my husband and another couple and WOW did the burger meet our expectations!! It is my new favorite burger in Cincinnati! Juicy meat, great bun, amazing sauce - it's the perfect combination! We also started with cocktails, wine, and two apps: yuca fries and crispy brussels sprouts. All were very good! The glasses of sauvignon blanc were cold and crisp!” -Stephanie M.

11 of 25

14. Boca 114 E. Sixth St., Downtown “Just order the whole menu - you can't go wrong. This is undoubtedly a top [dining] experience in Cincinnati.” -Jesse T.

Photo: Provided by Boca

14. Boca

114 E. Sixth St., Downtown
“Just order the whole menu - you can't go wrong. This is undoubtedly a top [dining] experience in Cincinnati.” -Jesse T.

12 of 25

13. Sacred Beast 1437 Vine St., Over-the-Rhine “This is one of my Fiancé and I's FAVORITE spots in Cincinnati. Delicious, creative, and tasteful diner themed bites. Great atmosphere. … Highly recommend the Chicken Liver Mousse. The Mortadella Sandwich is heavy and rich, but divine. The burger is incredible. Just go already, and thank me later.” -Colton W.

Photo: Hailey Bollinger

13. Sacred Beast

1437 Vine St., Over-the-Rhine
“This is one of my Fiancé and I's FAVORITE spots in Cincinnati. Delicious, creative, and tasteful diner themed bites. Great atmosphere. … Highly recommend the Chicken Liver Mousse. The Mortadella Sandwich is heavy and rich, but divine. The burger is incredible. Just go already, and thank me later.” -Colton W.

13 of 25

12. LouVino 1142 Main St., Over-the-Rhine “We both [were] very impressed with this place! Great service, food was high quality and reasonably priced for the quality, ambiance was nice as well. Waitress was very attentive and staff used a team approach to bring items/food out quickly as needed. We got the duck fat parmesan truffle fries to share and both ordered the salmon entree. Fries were great and a steal at $8 for a sharable. The $24 entrees were priced well considering the quality. The carrot puree and vegetables [complemented] the salmon very well. The fries came with an aioli sauce that was delicious. Start to finish it was a great dinner experience!” -Nate K.

Photo: Hailey Bollinger

12. LouVino

1142 Main St., Over-the-Rhine
“We both [were] very impressed with this place! Great service, food was high quality and reasonably priced for the quality, ambiance was nice as well. Waitress was very attentive and staff used a team approach to bring items/food out quickly as needed. We got the duck fat parmesan truffle fries to share and both ordered the salmon entree. Fries were great and a steal at $8 for a sharable. The $24 entrees were priced well considering the quality. The carrot puree and vegetables [complemented] the salmon very well. The fries came with an aioli sauce that was delicious. Start to finish it was a great dinner experience!” -Nate K.

14 of 25

11. Flatiron Café 1833 Sycamore St., Mt. Auburn “Delicious coffee selections, especially their to die for chocolate croissants. They are smaller than normal croissants, but melt in your mouth, delicious! Staffs are friendly and knowledgeable with the products they carry.” -Leony T. Photo: facebook.com/Flatiron Café

11. Flatiron Café

1833 Sycamore St., Mt. Auburn
“Delicious coffee selections, especially their to die for chocolate croissants. They are smaller than normal croissants, but melt in your mouth, delicious! Staffs are friendly and knowledgeable with the products they carry.” -Leony T.

15 of 25

10. Taft’s Ale House 1429 Race St., Over-the-Rhine “Great food with a really cool atmosphere. This building was once a church and was converted to a brewery. The food and beer is great and I would highly recommend coming here for a drink and a pretzel with beer cheese!” -Rusty H.

Photo: Jesse Fox

10. Taft’s Ale House

1429 Race St., Over-the-Rhine
“Great food with a really cool atmosphere. This building was once a church and was converted to a brewery. The food and beer is great and I would highly recommend coming here for a drink and a pretzel with beer cheese!” -Rusty H.

16 of 25

9. Crown Republic Gastropub 720 Sycamore St., Downtown “Be prepared for an incredible culinary experience. This place knows how to do food and do food right! They are a scratch kitchen so your food will always come out fresh.” -Shawn W.

Photo: Hailey Bollinger

9. Crown Republic Gastropub

720 Sycamore St., Downtown
“Be prepared for an incredible culinary experience. This place knows how to do food and do food right! They are a scratch kitchen so your food will always come out fresh.” -Shawn W.

17 of 25

8. Nolia Kitchen 1405 Clay St., Over-the-Rhine “This place is a vibe! The decor, the music, the smells, and people. I seriously thought I was in Brooklyn. The drinks were pretty, a bit sweet for my taste. The crawfish hush puppies were stellar, very special. The oysters were also great! We also had the flounder and duck and oyster gumbo. The flounder was my favorite, perfectly cooked with superb flavors. The best part was seeing the chef/owner creating the food. He greeted us twice, delivering the food then following up. You should definitely give it a try!” -Amber H.

Photo: Hailey Bollinger

8. Nolia Kitchen

1405 Clay St., Over-the-Rhine
“This place is a vibe! The decor, the music, the smells, and people. I seriously thought I was in Brooklyn. The drinks were pretty, a bit sweet for my taste. The crawfish hush puppies were stellar, very special. The oysters were also great! We also had the flounder and duck and oyster gumbo. The flounder was my favorite, perfectly cooked with superb flavors. The best part was seeing the chef/owner creating the food. He greeted us twice, delivering the food then following up. You should definitely give it a try!” -Amber H.

18 of 25

7. Abigail Street 1214 Vine St., Over-the-Rhine “This is my new favorite restaurant in cincinnati! I can't wait to return. The service, food and wine are the best in town. The ambiance is the best vibe and very chill but a great date night. Let's just talk about the food, it is melt in your mouth delicious and has something for everyone. My favorite was the black garlic shrimp, lamb spaghetti and ricotta cheese! Don't miss this.” -Kelli R.

Photo: Matthew Allen

7. Abigail Street

1214 Vine St., Over-the-Rhine
“This is my new favorite restaurant in cincinnati! I can't wait to return. The service, food and wine are the best in town. The ambiance is the best vibe and very chill but a great date night. Let's just talk about the food, it is melt in your mouth delicious and has something for everyone. My favorite was the black garlic shrimp, lamb spaghetti and ricotta cheese! Don't miss this.” -Kelli R.

19 of 25

6. Sotto 118 E. Sixth St., Downtown “The thing that is special about Sotto is that it hits all the marks. Beautiful atmosphere, exceptional service, and wonderful food make an evening there unforgettable.” -Oneya O.

Photo: Hailey Bollinger

6. Sotto

118 E. Sixth St., Downtown
“The thing that is special about Sotto is that it hits all the marks. Beautiful atmosphere, exceptional service, and wonderful food make an evening there unforgettable.” -Oneya O.

20 of 25

= topOfView && elementTop = topOfView && elementBottom <= bottomOfView var middleCoversView = elementTop bottomOfView var inView = topInView || bottomInView || middleCoversView var topOutOfView =Math.max(topOfView - elementTop, 0) var bottomOutOfView = Math.max(elementBottom - bottomOfView, 0) var visableHeight = Math.max(elementHeight - topOutOfView - bottomOutOfView, 0) var percentVisable = visableHeight / elementHeight var percentOfViewHeight = Math.min(visableHeight / viewHeight, 1) return { topInView: topInView, bottomInView: bottomInView, middleCoversView: middleCoversView, visableHeight: visableHeight, percentVisable: percentVisable, percentOfViewHeight: percentOfViewHeight, inView: inView, viewHeight: viewHeight, topOfView: topOfView, bottomOfView: bottomOfView, // topOffset: topOffset, // bottomOffset: bottomOffset, // elementTop: elementTop, // elementLeft: elementLeft, // elementRight: elementRight, // elementBottom: elementBottom, // elementWidth: elementWidth, // elementHeight: elementHeight, // topOutOfView: topOutOfView, // bottomOutOfView: bottomOutOfView, } } var updateMetaDataFromElement = function (element) { var element = jQuery(element) if (element.length === 0) return var headline = element.attr('meta-headline') || '' var permalink = element.attr('meta-permalink') || '' var canonical = element.attr('meta-canonical') || '' var pageTitle = element.attr('meta-title') || '' var thumb = element.attr('meta-thumb') || '' if (permalink) { var state = {} var title = '' var url = permalink history.pushState(state, title, url) } if (canonical) { document.querySelector('meta[property*=og:url]').href = canonical document.querySelector('link[rel*=canonical]').href = canonical } if (thumb) { if (document.querySelector('link[rel*=image_src]')) { document.querySelector('link[rel*=image_src]').href = thumb } if (document.querySelector('meta[name*=thumbnail]')) { document.querySelector('meta[name*=thumbnail]').content = thumb } if (document.querySelector('meta[property*=og:image]')) { document.querySelector('meta[property*=og:image]').content = thumb } if (document.querySelector('meta[name*=twitter:image]')) { document.querySelector('meta[name*=twitter:image]').content = thumb } } if (pageTitle) { document.querySelector('title').text = pageTitle document.querySelector('meta[name=title]').content = pageTitle } } var SlideshowItemsObj = function () { this.smallMenuBreakPoint = 850 this.itemContainerSelector = '[data-component-id="' + componentId + '"]' this.itemSelector = ' [slide-id]' this.lazyLoadMoreResults = false this.spinnerHTML = `]]>` this.removeSpinner = () => { jQuery(slideshowInstance.itemContainerSelector + ' div[uk-spinner]').remove() }; this.prevPageLinkHTML = ` Previous Page ` this.nextPageLinkHTML = ` Next Page ` Object.defineProperties(this, { 'items': { get: function() { return jQuery(this.itemContainerSelector).find(this.itemSelector) } }, 'currentItem': { get: function() { var foundItem = null var foundItemInView = null this.items.each(function () { var currentInView = elementInView(jQuery(this), scrollTopOffset, 0) if (currentInView) { // An in view item is already located extra logic if (foundItemInView && foundItemInView.inView) { // The entire previously found item is visible - it wins if (foundItemInView.topInView && foundItemInView.bottomInView) return // The previously found item covers the visible area - it wins if (foundItemInView.middleCoversView) return // The previously found item has more surface area - it wins if (foundItemInView.percentVisable > currentInView.percentOfViewHeight) return } foundItem = jQuery(this) foundItemInView = currentInView } }) return foundItem } }, 'currentItemIndex': { get: function() { var currentElement = this.currentItem.closest('[slide-index]') if(currentElement) { return parseInt(currentElement.attr('slide-index')) } return null } }, 'currentItemId': { get: function() { var currentElement = this.currentItem.closest('[slide-id]') if(currentElement) { return currentElement.attr('slide-id') } return null } } }) var slideshowInstance = this // xxx for debuggering - ig window.slideshowInstance = slideshowInstance; var scrollTopOffset = window.innerHeight > this.smallMenuBreakPoint ? 110 : 140 var originUrl = window.location.href this.scrollToIndex = function (index) { var slideItem = this.items.filter('[slide-index="' + index + '"]') if (slideItem.length) { var topOffset = slideItem.offset().top - scrollTopOffset // window.scrollTo({ top: topOffset, behavior: 'smooth' }) window.scrollTo({ top: topOffset, behavior: 'auto' }) } else { this.fetchMore(index, function () { slideshowInstance.scrollToIndex(index) }) } } this.fetchMore = function (startIndex, callback) { var currentItemOnFetch = this.currentItem var url = '/cincinnati/the-25-best-restaurants-in-greater-cincinnati-right-now-according-to-yelp/Slideshow/14730411' var params = { ajaxComponent: componentId, action: 'grabMore', startIndex: startIndex, oid: slideshowOid, cb: '1701355897', } if (paginate) { params.paginate = paginate; } var keywords = currentItemOnFetch.attr('slide-keywords') if (keywords) { params.keywords = keywords } if (editorView === true) { params.editor = true } // jQuery.ajax({ url: url, type: 'GET', data: params, dataType: 'json', // beforeSend: function () { console.log('Fetching results') }, success: function (data) { console.log('success', data.results, data.results.length, data.error, data) if (data) { if (data.error) { console.log(data.error) } else if (data.results) { console.log('slideshowInstance.items', slideshowInstance.items) for (var i = 0; i < data.results.length; i++) { var resultItem = jQuery(data.results[i]) // // var resultItem = jQuery.parseHTML(data.results[i], document, true); var resultItemIndex = parseInt(resultItem.attr('slide-index')) var resultAlreadyInserted = slideshowInstance.items.filter('[slide-index="' + resultItemIndex + '"]').length > 0 console.log('result', resultItemIndex) var previousItem = null var previousItemIndex = 0 if (!resultAlreadyInserted) { slideshowInstance.items.each(function () { if (resultAlreadyInserted) return var currentItem = jQuery(this) var currentItemIndex = parseInt(currentItem.attr('slide-index')) if (resultItemIndex === currentItemIndex ) { resultAlreadyInserted = true return } else if (resultItemIndex > previousItemIndex && resultItemIndex < currentItemIndex) { var topOffsetBeforeInsert = currentItemOnFetch.get(0).getBoundingClientRect().top resultItem.insertBefore(currentItem) resultAlreadyInserted = true var adjustedTopPosition = currentItemOnFetch.offset().top - topOffsetBeforeInsert window.scrollTo({ top: adjustedTopPosition, behavior: 'auto' }) } previousItem = currentItem previousItemIndex = currentItemIndex }) if (!resultAlreadyInserted) { var topOffsetBeforeInsert = currentItemOnFetch.get(0).getBoundingClientRect().top resultItem.insertAfter(slideshowInstance.items.last()) resultAlreadyInserted = true var adjustedTopPosition = currentItemOnFetch.offset().top - topOffsetBeforeInsert window.scrollTo({ top: adjustedTopPosition, behavior: 'auto' }) if (typeof instgrm === 'object' && instgrm.Embeds && typeof instgrm.Embeds.process === 'function') { setTimeout(instgrm.Embeds.process, 200); } } } } } else { console.log('How did we get here?') } } else { console.log('No result or error returned from content request.') } }, complete: function () { slideshowInstance.items = jQuery(slideshowInstance.itemSelector) // Update items result slideshowInstance.removeSpinner(); if (typeof callback === 'function') { callback() } }, error: function (jqXHR, textStatus, errorThrown) { console.log(jqXHR, textStatus, errorThrown); if (textStatus === 'timeout') { slideshowInstance.removeSpinner(); if (paginate === true) return; paginate = true; if (slideshowInstance.items.length < totalSlides) { var firstLoadedIndex = parseInt(slideshowInstance.items.first().attr('slide-index')) || 1; var lastLoadedIndex = parseInt(slideshowInstance.items.last().attr('slide-index')) || totalSlides; if(firstLoadedIndex > 1) { var prevLink = jQuery(slideshowInstance.prevPageLinkHTML); var prevLinkUrl = new URL(url, `https://www.citybeat.com`); prevLinkUrl.searchParams.append('startIndex', firstLoadedIndex - 1); prevLinkUrl.searchParams.append('paginate', 'true'); prevLink.attr('href', prevLinkUrl.href); jQuery(slideshowInstance.itemContainerSelector).prepend(prevLink); } if(lastLoadedIndex < totalSlides) { var nextLink = jQuery(slideshowInstance.nextPageLinkHTML); var nextLinkUrl = new URL(url, `https://www.citybeat.com`); nextLinkUrl.searchParams.append('startIndex', lastLoadedIndex + 1); nextLinkUrl.searchParams.append('paginate', 'true'); nextLink.attr('href', nextLinkUrl.href); jQuery(slideshowInstance.itemContainerSelector).append(nextLink); } } } } }) } // var lazyLoadSurroundingItemsInterval = null; var lazyLoadTimeout = null; var lazyLoadSurroundingItems = function (index) { if (paginate) return; if (slideshowInstance.items.length >= totalSlides) { clearInterval(lazyLoadSurroundingItemsInterval); } if (slideshowInstance.lazyLoadMoreResults) { // Rate limit lazyloading more slides clearTimeout(lazyLoadTimeout); lazyLoadTimeout = setTimeout(function () { var prevIndex = Math.max(index - 1, 1) var prevPrevIndex = Math.max(index - 2, 1) var nextIndex = index + 1 var nextNextIndex = index + 2 var prevIndexLoaded = slideshowInstance.items.filter('[slide-index="' + prevIndex + '"]').length > 0 var prevPrevIndexLoaded = slideshowInstance.items.filter('[slide-index="' + prevPrevIndex + '"]').length > 0 var nextIndexLoaded = slideshowInstance.items.filter('[slide-index="' + nextIndex + '"]').length > 0 var nextNextIndexLoaded = slideshowInstance.items.filter('[slide-index="' + nextNextIndex + '"]').length > 0 if(!prevIndexLoaded) { slideshowInstance.removeSpinner(); // jQuery(slideshowInstance.itemContainerSelector).prepend(slideshowInstance.spinnerHTML) slideshowInstance.fetchMore(Math.max(prevIndex - (fetchMoreMaxCount - 1), 1)) } else if(!prevPrevIndexLoaded) { slideshowInstance.removeSpinner(); // jQuery(slideshowInstance.itemContainerSelector).prepend(slideshowInstance.spinnerHTML) slideshowInstance.fetchMore(Math.max(prevPrevIndex - (fetchMoreMaxCount - 1), 1)) } if(!nextIndexLoaded) { slideshowInstance.removeSpinner(); jQuery(slideshowInstance.itemContainerSelector).append(slideshowInstance.spinnerHTML) slideshowInstance.fetchMore(nextIndex) } else if(!nextNextIndexLoaded) { slideshowInstance.removeSpinner(); jQuery(slideshowInstance.itemContainerSelector).append(slideshowInstance.spinnerHTML) slideshowInstance.fetchMore(nextNextIndex) } }, 200) } } // var lazyLoadLastCheckedIndex = slideshowInstance.currentItemIndex lazyLoadSurroundingItemsInterval = setInterval(function () { var currentIndex = slideshowInstance.currentItemIndex console.log(`lazyLoadSurroundingItemsInterval - currentIndex: ${currentIndex}; lazyLoadLastCheckedIndex: ${lazyLoadLastCheckedIndex}`); if(currentIndex !== lazyLoadLastCheckedIndex) { lazyLoadLastCheckedIndex = currentIndex; lazyLoadSurroundingItems(currentIndex); } }, 1000); var onScrollLastCheckedIndex = slideshowInstance.currentItemIndex jQuery(window).on('scroll resize', function () { var currentIndex = slideshowInstance.currentItemIndex if(currentIndex !== onScrollLastCheckedIndex) { onScrollLastCheckedIndex = currentIndex // console.log(`Slide Item index: ${currentIndex}`) fireEvent('foundation:slideshow:slidechange') } }); // var onScrollTimeout = null; // jQuery(window).on('scroll resize', function () { // // Rate limit lazyloading more slides // clearTimeout(onScrollTimeout); // onScrollTimeout = setTimeout(function () { // var currentIndex = slideshowInstance.currentItemIndex // if(currentIndex !== onScrollLastCheckedIndex) { // onScrollLastCheckedIndex = currentIndex // console.log(`Slide Item index: ${currentIndex}`) // fireEvent('foundation:slideshow:slidechange') // } // }, 100); // }); this.initialized = false this.init = function () { if (this.initialized === true) return // Prevent the browser from trying to scroll to the last scroll position before reload if (history.scrollRestoration) { history.scrollRestoration = 'manual' } var startIndex = this.items.first().attr('slide-index') var oid = window.location.pathname.match(/d+$/) if (oid) { var grabIndex = parseInt(this.items.closest('[slide-id="' + oid[0] + '"]').attr('slide-index')) if (!isNaN(grabIndex)) { var startIndex = grabIndex } } // if (startIndex > 1) { // this.scrollToIndex(startIndex) // } // if(jQuery(this.itemContainerSelector + '[single-listing]').length === 0) { // this.lazyLoadMoreResults = true // } this.lazyLoadMoreResults = true this.initialized = true lazyLoadSurroundingItems(startIndex) } return this } var SlideshowItems = new SlideshowItemsObj() // Ad refresh on slide change handling var adSlideChangeRefreshThreshold = 10; var adSlideChangeRefreshTimeout = null; // adSlideChangeRefreshTimeout = setTimeout(function () { adSlideChangeRefreshTimeout = null; // Set timer to null }, adSlideChangeRefreshThreshold) // Timeout to prevent fast jogging from item to item var itemChangeTimeout = null jQuery(document).on('foundation:slideshow:slidechange', function () { if (editorView !== true) { updateMetaDataFromElement(SlideshowItems.currentItem) } // Google Anayltics track pageview if (typeof ga === 'function') { console.log("foundation:slideshow:slidechange event", "sending pageview navigation to:", window.location.href); ga('set', 'location', window.location.href) for (let i = 1; i <= 3; i++) { let currentDimension = jQuery(SlideshowItems.currentItem).attr('ga-dimension'+i) if (typeof currentDimension === 'string') { ga('set', 'dimension' + i, currentDimension) } else { ga('set', 'dimension' + i, '') } } ga('send', 'pageview') } // if (adSlideChangeRefreshTimeout === null) { // adSlideChangeRefreshTimeout = setTimeout(function () { adSlideChangeRefreshTimeout = null; // Set timer to null }, adSlideChangeRefreshThreshold) // if (Foundation.Ad && Foundation.Ad.slots) { if (typeof (Foundation.Ad.slots['CIN_Footer-1']) === 'object') { Foundation.Ad.showFooter('CIN_Footer-1'); } } // if (Foundation.Gpt && Foundation.Gpt.getInPageSlotDataById) { var gptSlots = window.googletag.pubads().getSlots(); var gptSlotFixedFooter = gptSlots.filter((slot) => slot.getSlotElementId() === `FixedFooter`) if (gptSlotFixedFooter.length) { Foundation.Gpt.ShowAd.refreshFixedFooter(gptSlotFixedFooter[0]); } } } }); // Try to init immediately SlideshowItems.init() // On document loaded jQuery(function () { SlideshowItems.init() }) // })();
Source

Share this post

Leave a Reply

Your email address will not be published. Required fields are marked *


Related

Posts