2011-01-19 21 views
6

我正在構建一個將用作信息監視器的非公開網絡應用程序。因此,它將在一臺液晶電視顯示器上全天候運行。Javascript用於防止液晶屏上的「老化」問題

因爲這可能會在LCD上產生「燒屏顏色」錯誤,所以我正在尋找一個可以防止/減少此問題的Javascript。我想使用類似於他們在機場顯示器上使用的東西(一行從左到右,從上到下,切換顏色)。

你知道這樣做的任何Javascript嗎?謝謝!

+2

它可以嗎?我認爲這種問題僅限於CRT顯示器。 – 2011-01-19 22:46:21

+3

這不是LCD的主要問題,只有CRT和等離子顯示器。請參閱http://compreviews.about.com/od/monitors/a/LCDBurnIn.htm。 @Andreas它與等離子體一樣糟糕:) – 2011-01-19 22:47:51

回答

12

如果你還有興趣:(用了jQuery)

var $burnGuard = $('<div>').attr('id','burnGuard').css({ 
    'background-color':'#FF00FF', 
    'width':'1px', 
    'height':$(document).height()+'px', 
    'position':'absolute', 
    'top':'0px', 
    'left':'0px', 
    'display':'none' 
}).appendTo('body'); 

var colors = ['#FF0000','#00FF00','#0000FF'], color = 0, delay = 5000, scrollDelay = 1000; 
function burnGuardAnimate() 
{ 
    color = ++color % 3; 
    var rColor = colors[color]; 
    $burnGuard.css({ 
     'left':'0px', 
     'background-color':rColor, 
    }).show().animate({ 
     'left':$(window).width()+'px' 
    },scrollDelay,function(){ 
     $(this).hide(); 
    }); 
    setTimeout(burnGuardAnimate,delay); 
} 
setTimeout(burnGuardAnimate,delay); 

工作示例這裏找到:http://www.jsfiddle.net/bradchristie/4w2K3/3/(或full screen version

0

我用布拉德的腳本,但不幸的是我的網頁有一個大的HTML表擴展到父容器之外。這使得像素條只能在整個屏幕上行進。我添加了一個邊界框腳本來查找html表格的實際寬度,然後用它來設置Brad腳本中的寬度,而不是改變我的表格。

var div = document.getElementById ("HtmlTable-ID"); 

     if (div.getBoundingClientRect) {  
      var rect = div.getBoundingClientRect(); 

      w = rect.right - rect.left; 

      // alert (" Width: " + w); 
     } 

var $burnGuard = $('<div>').attr('id','burnGuard').css({ 
    'background-color':'#FF00FF', 
    'width':'1px', 
    'height':$(document).height()+'px', 
    'position':'absolute', 
    'top':'0px', 
    'left':'0px', 
    'display':'none' 
}).appendTo('body'); 

var colors = ['#FF0000','#00FF00','#0000FF'], color = 0, delay = 5000, scrollDelay = 1000; 
function burnGuardAnimate() 
{ 
    color = ++color % 3; 
    var rColor = colors[color]; 
    $burnGuard.css({ 
     'left':'0px', 
     'background-color':rColor, 
    }).show().animate({ 
     'left': w +'px' 
    },scrollDelay,function(){ 
     $(this).hide(); 
    }); 
    setTimeout(burnGuardAnimate,delay); 
} 
setTimeout(burnGuardAnimate,delay);