Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   прокрутка документа (https://javascript.ru/forum/misc/23965-prokrutka-dokumenta.html)

zloctb 13.12.2011 17:12

прокрутка документа
 
Привет:)
мне нужно менять фон документа если документ прокручен больше 100рх!
помогите исправить

window.onscroll=function (){
if(document.body.scrollTop>=100)
{
document.body.bgColor='blue'
}
else
document.body.bgColor='red'

}

Magneto 13.12.2011 17:49

window.onscroll = function () {
  if (document.body.scrollTop >= 100) {
    document.body.style.background = 'blue';
  } else {
    document.body.style.background = 'red';
  }
};

Livanderiaamarum 13.12.2011 17:57

window.onscroll = function () {
			if (document.body.scrollTop == 100) {
						//если прокручен до 100 пикселей
						document.body.style.background = 'red';
			}
			else if (document.body.scrollTop == 101) {
						//если прокручен до 101 пикселя, то переключить фон 
						document.body.style.background = 'blue';
			}

};


мой скрипт оптимальнее

Magneto 13.12.2011 17:59

Цитата:

Сообщение от Livanderiaamarum (Сообщение 142521)
window.onscroll = function () {
			if (document.body.scrollTop == 100) {
						//если прокручен меньше чем на 100
						document.body.style.background = 'blue';
			}
			if (document.body.scrollTop == 101) {
						//если прокручен больше чем на 100
						document.body.style.background = 'blue';
			}

};

Сам хоть понял что написал?

zloctb 13.12.2011 17:59

пасиб:)

Livanderiaamarum 13.12.2011 18:00

Цитата:

Сообщение от Magneto (Сообщение 142523)
Сам хоть понял что написал?

если ты не понял подучи javascript

Aetae 13.12.2011 18:06

Livanderiaamarum,
scroll как и mousemove работает не попиксельно. Если двигать быстро указанные значения он никогда не примет.

И пафос свой засуньте куда-нить подальше, пока не изучите js на приемлемом уровне.

Livanderiaamarum 13.12.2011 18:12

Цитата:

Сообщение от Aetae (Сообщение 142527)
Livanderiaamarum,
scroll как и mousemove работает не попиксельно. Если двигать быстро указанные значения он никогда не примет.

И пафос свой засуньте куда-нить подальше, пока не изучите js на приемлемом уровне.

я js знаю на 98%) а задрачивать быдлореализацию быдлометодов быдлобраузеров - это ваш конек.

var bgSwiter = true
window.onscroll = function () {
			if (document.body.scrollTop >=100) {
						if(bgSwiter){
									document.body.style.background = 'red';
									bgSwiter = false
						}
			}
			else {
						if(!bgSwiter){
									document.body.style.background = 'blue';
									bgSwiter = true
						}
			}
};


а свой быдлокод который КАЖДУЮ ПРОКРУТКУ будет БГ менять - распечатай, и повесь на стенку. оптимизатор хренов))

trikadin 13.12.2011 18:20

Цитата:

Сообщение от Livanderiaamarum
тогда свитчер ставить надо

Мозг надо ставить...

рони 13.12.2011 19:09

На всякий случай ... при DOCTYPE будет не document.body.scrollTop а document.documentElement.scrollTop
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">window.onload=function(){
	window.onscroll=function(){
		if (document.documentElement.scrollTop>100) {
            document.body.style.background = 'blue';
		}
		else {
            document.body.style.background = 'red';
          		}

	}
}
</script>
<style type="text/css">
body{padding:1000px 5px; background-color: #FF0000;}
#scroll{
	top:100px;
	border:1px solid #000;
	position:absolute;
}
</style>
</head>
<body>
	<div id="scroll">test</div>
</body>
</html>


Часовой пояс GMT +3, время: 01:25.