You can totally do this out of the box with Webform CiviCRM module!
Sorry for the swim squad references - but that's the project I was on when I read your question - here's a quick demo:
- in CiviCRM Tab -> add Membership Type - User Select; also add Membership Fee field;
- in the Webform tab -> ensure the Membership Type is a Listbox; Use static to only get the ones you need on this form;
Then under Webform Tab -> Conditionals - just a quick example - but you can make this as complex as you like - and even combine statements (is greater than or equal and is less then) to cover your $ ranges.
This says -> if we type in 25 -> we automatically get option1 -> which is my case is White Squad Membership; note how Webform is clever enough to grey out the Membership Type so the user can't self select anymore;
And if we type in 50 or higher -> we automatically get option number 2 -> in my case: a Black Squad Membership
PS - and you're going to get that slider in D8: