fixed variable height filter drop items bug

This commit is contained in:
Tom Giannattasio
2012-09-05 17:12:43 -04:00
parent e70673cf07
commit 64d9db8497
3 changed files with 14 additions and 7 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -720,6 +720,10 @@ body.discussion {
overflow-y: scroll;
}
ul {
position: inline;
}
> li:first-child a {
border-top: none;
}