diff --git a/js/jquery.emojipicker.js b/js/jquery.emojipicker.js index 4f83367..fd19d94 100644 --- a/js/jquery.emojipicker.js +++ b/js/jquery.emojipicker.js @@ -256,7 +256,6 @@ emojiMouseout: function(e) { $(e.target).parents('.emojiPicker').find('.shortcode .info').empty().hide(); $(e.target).parents('.emojiPicker').find('.shortcode .random').show(); - }, emojiCategoryClicked: function(e) { @@ -448,9 +447,18 @@ nodes.push(''); // Recent Section, if localstorage support - if (localStorageSupport && localStorage.emojis) { - var recentlyUsedEmojis = JSON.parse(localStorage.emojis); - nodes.push('
'); + if (localStorageSupport) { + var recentlyUsedEmojis = []; + var recentlyUsedCount = 0; + var displayRecentlyUsed = ' style="display:none;"'; + + if (localStorage.emojis) { + recentlyUsedEmojis = JSON.parse(localStorage.emojis); + recentlyUsedCount = recentlyUsedEmojis.length; + displayRecentlyUsed = ' style="display:block;"'; + } + + nodes.push('
'); nodes.push('

Recently Used

'); for (var i = recentlyUsedEmojis.length-1; i > -1 ; i--) { @@ -485,7 +493,6 @@ var emojis = $.fn.emojiPicker.emojis; var i = Math.floor(Math.random() * (364 - 0) + 0); var emoji = emojis[i]; - console.log(emoji.name); return 'Daily Emoji: ' + emoji.name + ''; } @@ -552,12 +559,29 @@ function updateRecentlyUsed(emoji) { var recentlyUsedEmojis = JSON.parse(localStorage.emojis); var emojis = []; + var recent = $('section.recent'); for (var i = recentlyUsedEmojis.length-1; i >= 0; i--) { emojis.push(''); } + // Fix height as emojis are added + var prevHeight = recent.outerHeight(); $('section.recent .wrap').html(emojis.join('')); + var currentScrollTop = $('.sections').scrollTop(); + var newHeight = recent.outerHeight(); + var newScrollToHeight = 0; + + if (!$('section.recent').is(':visible')) { + recent.show(); + newScrollToHeight = newHeight; + } else if (prevHeight != newHeight) { + newScrollToHeight = newHeight - prevHeight; + } + + $('.sections').animate({ + scrollTop: currentScrollTop + newScrollToHeight + }, 0); } if (!String.fromCodePoint) {