Плывущий фон 
		
		
		
		Пожалуйста, подскажите как менее ресурсозатратно сделать плывущий фон на странице? Пробывал тремя разными способами: 
	1) с помощью плагина Background-Position. 2) с помщью вот такого скрипта: 
$(function(){
	// ***
	// Scrolling background
	// ***
	var backgroundheight = 4000;
	
	// calculate which pixel row to start graphic from based on how far through the day we are
 	var offset = backgroundheight / 100;
	// graphic starts at approx 6am, so adjust offset by 1/4
	var offset = offset - (backgroundheight / 4);
	function scrollbackground() {
		// decrease the offset by 1, or if its less than 1 increase it by the background height minus 1
   		offset = (offset < 1) ? offset + (backgroundheight - 1) : offset - 1;
		// apply the background position
   		$('body').css("background-position", "50% " + offset + "px");
   		// call self to continue animation
   		setTimeout(function() {
			scrollbackground();
			}, 1
		);
   	}
    
	// Start the animation
	scrollbackground();
});
3) с помощью вот ткого: 
var current = 0;            // Текущая строка пикселей
function scrollBg(){
    
    //Переходим к следующей строке пикселей
    current -= 1;
    
    //Если конец изображения, то переходим снова вверх
    if (current == -4000){
        current = 0;
    }
    
    //Устанавливаем CSS заголовка
    $('body').css("background-position","0 "+current+"px");
}
//Вызываем прокручивающую функцию повторно
var init = setInterval("scrollBg()", 0);
Бекфон стоит на боди. Сам рисунок фона весит 140кб. Во всех трех случаях скрипт полностью убивает одно ядро процессора. В фф так вообще тормозит жутко. Пробывал ставить фон на слой а не на боди и пробывал ставить рисунок полегче (60кб), результат всегда один и тот же - проц грузится до предела. Посоветуйте, что делать? Уж очень нужен эффект плывущего фона.  | 
	
		
 А принципиально на javascript? 
	Если я Вас правильно понял.... Воможно HTML поможет? - например тег - <marquee>Демонстрация "Плывущего" или "Прокручивающегося" рисунка</marquee> + параметри  | 
	
		
 Цитата: 
	
 Цитата: 
	
 выставьте таймаут побольше PS http://javascript.ru/tutorial/object...ord#apply-call  | 
	
		
 Цитата: 
	
 Цитата: 
	
  | 
	
		
 не ту ссылку кинул 
	http://javascript.ru/blog/Andrej-Par...cii-JavaScript  | 
	
		
 Цитата: 
	
  | 
	
		
 Вот как я вижу ето - возможно я вновь не прав 
	
<BODY> 
 <body background="pic.jpg"> 
 
<script language="JavaScript"> 
<!-- Begin
var backgroundOffset = 0;
var bgObject = eval('document.body');
function scrollBG(maxSize) {
backgroundOffset = backgroundOffset + 1;
if (backgroundOffset > maxSize) backgroundOffset = 0;
bgObject.style.backgroundPosition = "0 " + backgroundOffset;
}
var ScrollTimer = window.setInterval("scrollBG(307)", 64);
// End -->
</script> 
</BODY>
 | 
	
		
 плывут по небу облака ....))) 
	
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
<style type="text/css">
body{
  background-image:url('http://www.the-best-site.ru/images/bg027.gif');
}
</style>
<script language="JavaScript" type="text/javascript">
window.setInterval(function () {
    if (!this.a || this.a < 0) this.a = 200;
    else this.a--;
    document.body.style.backgroundPosition = this.a + "px 100%"
}, 50);
</script>
</head>
<body></body>
</html>
 | 
	
		
 Всем большое спасибо за помощь. Остановился на вот этом варианте: 
	
var current = 0;            // Текущая строка пикселей
function scrollBg(){
    
    //Переходим к следующей строке пикселей
    current -= 1;
    
    //Если конец изображения, то переходим снова вверх
    if (current == -2000){
        current = 0;
    }
    
    //Устанавливаем CSS заголовка
    $('body').css("background-position","0 "+current+"px");
}
//Вызываем прокручивающую функцию повторно
var init = setInterval("scrollBg()", 60);
Тесты показали, что это самый оптимальный вариант. Нагрузка на проц максимум 25%. Все остальные варианты перепробывал с различными параметрами и все они проиграли данному. Картинка плывет более-менее плавно и не тормазит. Еще раз всем спасибо!  | 
| Часовой пояс GMT +3, время: 03:30. |