ByViolet Ikonomova onThu, Mar 1, 2018 at 10:49 am
Flickr, Sebastian Vital
Eminem has achieved another career milestone, racking up more than 100 million Recording Industry Association of America song awards to become the second-most successful artist in the world, in terms of singles. Em surpassed No. 3 Taylor Swift for the honor and landed just behind Rihanna, who is No. 1.
It's a big deal. For context — the RIAA's other list of top artists, as determined by number of albums sold, is dominated by the likes of the Beatles and Elvis Presley (and, much to the surprise of the non-country heads among us — Garth Brooks).
The latest set of digital song certifications by the RIAA, the organization behind the famous "Gold" and "Platinum" sale distinctions, puts Eminem up to107.5 millionsong units moved.
Eminem is the first rapper to cross the 100-million mark. The win comes on the heels of a successful start for his latest album, Revival, which debuted at the top of the Billboard 200 chart and sold more than 260,000 units in its first week. It was his eighth-consecutive No. 1 debut on the album chart — an industry record.
') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } } } jQuery(element).insertBefore(this.paragraphEndNodes[index]); } else { console.warn('Foundation.ParagraphTool.insertElemenAt: invalid insertion index', index); } } this.insertElemenAtEnd = function (element) { if (this.paragraphEndNodes.length) { let lastNode = this.getNodeAtIndex(this.paragraphEndNodes.length -1); if (this.isDoubleBrParagraphBreak(lastNode) || this.isBrParagraphBreakBeforeBlockElement(lastNode)) { if (jQuery(element).get(0).tagName.match(/SCRIPT/i) !== null) { jQuery('
').insertAfter(this.paragraphEndNodes[index]); jQuery('
').insertAfter(this.paragraphEndNodes[index]); } else { jQuery('div.fdn-content-body, div #storyBody').append('
') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } } } } this.bodyContainer.append(element); } this.getNodeAtIndex = function (index) { return this.paragraphEndNodes[index]; } }
`); } var paragraphCount = myParagraphTool.getParagraphEndNodeCount(); // No need to insert if there aren't enough paragaphs if (paragraphCount >= parseInt(item.requiredCountToDisplay)) { // Matches specific paragraph insertion indexes if (item.insertPoint.match(/^\d+$/) !== null) { var insertIndex = parseInt(item.insertPoint) - 1; // Insert within content if (insertIndex < paragraphCount) { myParagraphTool.insertElemenAtIndex(componentElement, insertIndex); } // Append to the end if the insert point is beyond the paragraph count else { myParagraphTool.insertElemenAtEnd(componentElement) } } // Matches for 1/2, 1/4, 2/3, 5/6, etc else if (item.insertPoint.match(/^[1223456]\/[23456]$/) !== null) { var fractionMatch = new RegExp(/^([123456])(?:\/)([23456]$)/); var fractionPart = parseInt(item.insertPoint.match(fractionMatch)[1]); var fractionWhole = parseInt(item.insertPoint.match(fractionMatch)[2]); var fractionValue = fractionPart / fractionWhole; var fractionIndex = Math.floor(myParagraphTool.paragraphEndNodes.length * fractionValue) - 1; myParagraphTool.insertElemenAtIndex(componentElement, fractionIndex); } // Matches for every Nth insertion point else if (item.insertPoint.match(/^\d*th$/i) !== null) { var intervalIndex = parseInt(item.insertPoint.match(/^(\d*)th$/i)[1]); var startingIndex = parseInt(item.startingPoint) - 1; var insertionMax = parseInt(item.maxInsertions) || 100; var insertionCount = 0; for (var i = startingIndex; i < myParagraphTool.paragraphEndNodes.length && insertionCount < insertionMax; i++) { if ((i - startingIndex) % intervalIndex === 0) { let currentNode = myParagraphTool.getNodeAtIndex(i); const clonedComponent = componentElement.clone(); myParagraphTool.insertElemenAtIndex(clonedComponent, i); insertionCount++; } } } } }); Foundation.Content['9748744'].setupInlineComponents = function () { return true; }; if (typeof callback === 'function') { callback(); } }, 200); } Foundation.Content['9748744'].previewInsertionPoints = function () { var myParagraphTool = Foundation.Content['9748744'].paragraphTool myParagraphTool.paragraphEndNodes.each((index, item) => { const insertionPointPlaceholder = jQuery(`
Insertion point ${index+1}
`) myParagraphTool.insertElemenAtIndex(insertionPointPlaceholder, index); }); return 'Paragraph insertion placeholders applied.'; }
Scroll to read more Music News articles
Trending
Where to celebrate New Year’s Eve in metro Detroit
By Metro Times Staff
Newsletters
Join Detroit Metro Times Newsletters
Subscribe now to get the latest news delivered right to your inbox.
', 'fetching') }, success: function (data) { // console.log(data.result, data.error, data) if (data) { if (data.error) { // presentResult('Trouble loading content.', 'error') } else if (data.result) { if (typeof Foundation.Content === 'undefined') { presentResult(data.result, 'remove'); } else { presentResult(data.result, 'remove', () => { // Foundation.Content[contentOid].setupInlineComponents(); if (Foundation.Image.Editor && typeof Foundation.Image.Editor.setupEditButtons === 'function') { Foundation.Image.Editor.setupEditButtons(); } }); } } else { // presentResult('How did we get here?', 'error') } } else { // presentResult('No result or error returned from content request.', 'error') } }, complete: function () { cmInstance.queue.push(fetchUnloadedItems); }, error: function (error) { // presentResult('Ajax request error.', 'error') } }) } } cmInstance.queue.push(fetchUnloadedItems) jQuery(document).on('scroll resize', function () { // Prevent rapid firing of event stuff clearTimeout(onScrollTimeout) onScrollTimeout = setTimeout(function() { // console.log('Foundation.MultiItem onScroll event') updateFurthestDownInView() }, 100); }) jQuery(document).on('foundation:multiitem:itemchange', function () { // Prevent rapid firing of event stuff clearTimeout(onItemChangeTimeout) onItemChangeTimeout = setTimeout(function() { // console.log('Foundation.MultiItem foundation:multiitem:itemchange event ') cmInstance.onItemChange() }, 100); }) }; Foundation.MultiItems = Foundation.MultiItems || { add: function (multiItem) { Foundation.MultiItems[multiItem.id] = multiItem; } }; Foundation.MultiItems.add(new Foundation.MultiItem({ id: 'ContentRowMultiple', onItemChange: function () { if (this.currentPermaLink) { var state = {} var title = '' var url = this.currentPermaLink history.pushState(state, title, url) } if (this.currentCanonical) { document.querySelector('meta[property*=og\\:url]').href = this.currentCanonical document.querySelector('link[rel*=canonical]').href = this.currentCanonical } if (this.currentThumb) { document.querySelector('link[rel*=image_src]').href = this.currentThumb document.querySelector('meta[name*=thumbnail]').content = this.currentThumb document.querySelector('meta[property*=og\\:image]').content = this.currentThumb document.querySelector('meta[name*=twitter\\:image]').content = this.currentThumb } if (this.currentTitle) { document.querySelector('title').text = this.currentTitle } // Google track pageview if (typeof ga === 'function') { ga('set', 'location', window.location.href) for (let i = 1; i <= 4; i++) { let currentDimension = jQuery(Foundation.MultiItems["ContentRowMultiple"].currentItem).attr('ga-dimension'+i) if (typeof currentDimension === 'string') { ga('set', 'dimension' + i, currentDimension) } else { ga('set', 'dimension' + i, '') } } ga('send', 'pageview') } if (typeof (Foundation.Ad.slots['DET_LeaderboardHeader-1']) === 'object' && !false) { Foundation.Ad.refresh('DET_LeaderboardHeader-1') } if (typeof (Foundation.Ad.slots['DET_Footer-1']) === 'object') { Foundation.Ad.showFooter('DET_Footer-1'); } } }))