diff --git a/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee b/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee index 0547b4e52b..6b3a17b4c4 100644 --- a/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee +++ b/lms/static/coffee/src/discussion/views/discussion_thread_list_view.coffee @@ -204,7 +204,6 @@ class @DiscussionThreadListView extends Backbone.View return event.preventDefault() - itemHeight = $(".browse-topic-drop-menu a").outerHeight() items = $.makeArray($(".browse-topic-drop-menu-wrapper a").not(".hidden")) index = items.indexOf($('.browse-topic-drop-menu-wrapper .focused')[0]) @@ -216,11 +215,13 @@ class @DiscussionThreadListView extends Backbone.View $(".browse-topic-drop-menu-wrapper .focused").removeClass("focused") $(items[index]).addClass("focused") - scrollTarget = Math.min(index * itemHeight, $(".browse-topic-drop-menu").scrollTop()) - scrollTarget = Math.max(index * itemHeight - $(".browse-topic-drop-menu").height() + itemHeight, scrollTarget) + itemTop = $(items[index]).parent().offset().top + scrollTop = $(".browse-topic-drop-menu").scrollTop() + itemFromTop = $(".browse-topic-drop-menu").offset().top - itemTop + scrollTarget = Math.min(scrollTop - itemFromTop, scrollTop) + scrollTarget = Math.max(scrollTop - itemFromTop - $(".browse-topic-drop-menu").height() + $(items[index]).height(), scrollTarget) $(".browse-topic-drop-menu").scrollTop(scrollTarget) - diff --git a/lms/static/coffee/src/discussion/views/new_post_view.coffee b/lms/static/coffee/src/discussion/views/new_post_view.coffee index 503e6daa3c..e1a859b62a 100644 --- a/lms/static/coffee/src/discussion/views/new_post_view.coffee +++ b/lms/static/coffee/src/discussion/views/new_post_view.coffee @@ -155,7 +155,6 @@ class @NewPostView extends Backbone.View return event.preventDefault() - itemHeight = $(".topic_menu_wrapper a").outerHeight() items = $.makeArray($(".topic_menu_wrapper a").not(".hidden")) index = items.indexOf($('.topic_menu_wrapper .focused')[0]) @@ -167,6 +166,9 @@ class @NewPostView extends Backbone.View $(".topic_menu_wrapper .focused").removeClass("focused") $(items[index]).addClass("focused") - scrollTarget = Math.min(index * itemHeight, $(".topic_menu").scrollTop()) - scrollTarget = Math.max(index * itemHeight - $(".topic_menu").height() + itemHeight, scrollTarget) + itemTop = $(items[index]).parent().offset().top + scrollTop = $(".topic_menu").scrollTop() + itemFromTop = $(".topic_menu").offset().top - itemTop + scrollTarget = Math.min(scrollTop - itemFromTop, scrollTop) + scrollTarget = Math.max(scrollTop - itemFromTop - $(".topic_menu").height() + $(items[index]).height() + 20, scrollTarget) $(".topic_menu").scrollTop(scrollTarget) diff --git a/lms/static/sass/_discussion.scss b/lms/static/sass/_discussion.scss index 59e3d3321c..62b4c66db4 100644 --- a/lms/static/sass/_discussion.scss +++ b/lms/static/sass/_discussion.scss @@ -720,6 +720,10 @@ body.discussion { overflow-y: scroll; } + ul { + position: inline; + } + > li:first-child a { border-top: none; }