Rumah >hujung hadapan web >tutorial js >Contoh lengkap kesan kecerunan warna masa nyata yang dilaksanakan oleh kemahiran JS_javascript

Contoh lengkap kesan kecerunan warna masa nyata yang dilaksanakan oleh kemahiran JS_javascript

WBOY
WBOYasal
2016-05-16 15:08:101391semak imbas

Contoh dalam artikel ini menerangkan kesan kecerunan warna masa nyata yang dilaksanakan oleh JS. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页</title>
</head>
<body>
<div id="div1" style="font-size:36px;">我的闪烁文字 abc123</div>
<span id="span1"></span>
<script type="text/javascript">
var begin = getRGB('#33FFAA');
var end = getRGB('#FF0000');
var curColor = getRGB('#33FFAA');
var bo = true;
var rate = getRate(begin, end);
function blink()
{
  window.setInterval(function(){
    curColor.r = getCur(begin.r, end.r, curColor.r, bo, rate.r);
    curColor.g = getCur(begin.g, end.g, curColor.g, bo, rate.g);
    curColor.b = getCur(begin.b, end.b, curColor.b, bo, rate.b);
    document.getElementById('div1').style.color = getColor(curColor);
    document.getElementById('span1').innerHTML = getColor(curColor);
    if(curColor.r == begin.r && curColor.g == begin.g && curColor.b == begin.b)
    {
      bo = true;
    }
    if(curColor.r == end.r && curColor.g == end.g && curColor.b == end.b)
    {
      bo = false;
    }
  } , 100);
}
function getCur(beginValue, endValue, curValue, bo, rateValue)
{
  if(beginValue == endValue)
  {
    return beginValue;
  }
  rateValue = beginValue < endValue &#63; rateValue : -rateValue;
  curValue += bo &#63; rateValue : -rateValue;
  if(curValue < Math.min(beginValue, endValue))
  {
    curValue = Math.min(beginValue, endValue);
  }
  if(curValue > Math.max(beginValue, endValue))
  {
    curValue = Math.max(beginValue, endValue);
  }
  return curValue;
}
function getRate(b, e)
{
  var obj = new Object();
  obj.r = Math.abs(b.r - e.r) / 5;
  obj.g = Math.abs(b.g - e.g) / 5;
  obj.b = Math.abs(b.b - e.b) / 5;
  return obj;
}
function getRGB(color)
{
  var obj = new Object();
  obj.r = parseInt(color.substr(1,2), 16);
  obj.g = parseInt(color.substr(3,2), 16);
  obj.b = parseInt(color.substr(5,2), 16);
  return obj;
}
function getColor(obj)
{
  obj.r = Math.round(obj.r);
  obj.g = Math.round(obj.g);
  obj.b = Math.round(obj.b);
  var color = '#';
  color += (obj.r < 16 &#63; '0':'') + obj.r.toString(16);
  color += (obj.g < 16 &#63; '0':'') + obj.g.toString(16);
  color += (obj.b < 16 &#63; '0':'') + obj.b.toString(16);
  return color;
}
blink();
</script>
</body>
</html>

Pembaca yang berminat dengan lebih banyak kandungan berkaitan JavaScript boleh menyemak topik khas di tapak ini: "Ringkasan teknik algoritma carian JavaScript", "Ringkasan kesan dan teknik khas animasi JavaScript ", "Ringkasan ralat JavaScript dan teknik penyahpepijatan", "Ringkasan struktur data JavaScript dan teknik algoritma", "Ringkasan algoritma dan teknik traversal JavaScript" dan "Ringkasan Matematik JavaScript penggunaan operasi

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan JavaScript.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn