Нет, для функций не всегда нужен прототип. Единственное требование - то, что функция "объявляется" перед использованием ее. Существует два способа объявить функцию: записать прототип или записать саму функцию (названный "определением".) определением всегда является объявление, но не все объявления определения.
jQuery позволяет получить краткое решение, скрывая при этом большинство несоответствий в браузере. Вот небольшой макет, чтобы вы начали:
<script type="text/javascript">
//when the DOM has loaded
$(document).ready(function() {
//attach some code to the scroll event of the window object
//or whatever element(s) see http://docs.jquery.com/Selectors
$(window).scroll(function () {
var height = $('body').height();
var scrollTop = $('body').scrollTop();
var opacity = 1;
// do some math here, by placing some condition or formula
if(scrollTop > 400) {
opacity = 0.5;
}
//set the opacity of div id="someDivId"
$('#someDivId').css('opacity', opacity);
});
});
</script>
См. Также:
Используйте событие прокрутки и проанализируйте значение document.documentElement.scrollTop, чтобы установить соответствующую непрозрачность. http://www.quirksmode.org/dom/events/scroll.html