Ну, это было весело, спасибо!
Надеюсь, вы не возражаете против того, чтобы я позволил себе использовать проценты, чтобы сделать мою жизнь немного проще и, возможно, сценарий немного более надежным, поскольку я могу надежно использовать плавающие числа с процентами.
Я сделал так, чтобы макет, html и css соответствовали правилам, необходимым для правильной анимации bg, они остались практически такими же, как и у вас.
Тогда это был просто вопрос вычисления вычислений, необходимых с правильными свойствами, чтобы выяснить, какой процент вы были сверху, *20
- это фактически пространство, «оставленное» для заполнения фоновым изображением в проценты (так как высота фона составляет 80%).
Они переместили вычисления в функцию, чтобы я мог вызывать ее при прокрутке и изменении размера окна, следя за тем, чтобы оно инициировалось при любом событии, которое каким-либо образом изменяет окно ...
Не проводил расширенного тестирования, но в Chrome он работал, и я устал: p
Я считаю, что это то, что вы ищете:
http://jsfiddle.net/sg3s/RSqrw/15/ См. Редактировать 2
Если вы хотели это по-другому, просто сделайте фон страницы начавшимся сверху и измените это:
http://jsfiddle.net/sg3s/RSqrw/14/ См. Редактировать 2
Edit:
В качестве бонуса, и поскольку я никогда не писал сценарий jquery в качестве «плагина», я решил преобразовать его в один. То, что я придумал, должно быть легко внедрить и использовать!
http://jsfiddle.net/sg3s/RSqrw/52/ См. Редактировать 3
Функциональность успешно протестирована в Chrome, Firefox 3.6, IE9 + режим совместимости
Редактировать 2:
Еще раз прочитав вопрос, проверив, правильно ли я это сделал, я заметил, что я не совсем сделал то, что вы хотите, поэтому я обновил ссылку в первом редактировании, которая дает вам плагин, в котором вы можете иметь несколько вариантов фона прокрутки. , Он сохраняет мою «старую» интерпретацию, а также делает то, что вы хотите ... Прочитайте комментарии в коде для некоторых дополнительных описаний.
Редактировать 3:
Когда я сегодня пошел на работу, меня беспокоил тот факт, что мой плагин 'try' был немного раздутым. И, как вы упомянули в комментарии, это не совсем соответствовало требованиям.
Поэтому я переписал его, чтобы делать только то, что вы хотите, и не намного, протестировал в Chrome Firefox, IE9 + compat и т. Д. И т. Д. Этот скрипт намного чище.
http://jsfiddle.net/sg3s/vZxHW/
Вы можете выбрать, чтобы фон прилипал к верху или низу, если высота соответствует размеру окна. Ничего другого, но этого уже более чем достаточно, чтобы сделать довольно крутые вещи: p