<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FAjax_Layer</id>
		<title>JavaScript DHTML/Ajax Layer - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FAjax_Layer"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ajax_Layer&amp;action=history"/>
		<updated>2026-04-04T19:46:43Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Ajax_Layer&amp;diff=4154&amp;oldid=prev</id>
		<title> в 09:58, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ajax_Layer&amp;diff=4154&amp;oldid=prev"/>
				<updated>2010-05-26T09:58:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 09:58, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Ajax_Layer&amp;diff=4155&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ajax_Layer&amp;diff=4155&amp;oldid=prev"/>
				<updated>2010-05-26T07:48:30Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;* [[JavaScript DHTML/Ajax Layer/3D | 3D]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Accordion Panel | Accordion Panel]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Ajax Library | Ajax Library]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Animation Action | Animation Action]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Animation Attributes | Animation Attributes]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Animation Bounse | Animation Bounse]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Animation Color | Animation Color]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Animation Control Point | Animation Control Point]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Animation Path | Animation Path]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Animation Position | Animation Position]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Animation Scroll | Animation Scroll]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Animation Size | Animation Size]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/AutoComplete Widget | AutoComplete Widget]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Banner | Banner]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Bezier | Bezier]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Border | Border]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Button | Button]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/CheckBox | CheckBox]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/DOM Utilities | DOM Utilities]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Data | Data]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Dock | Dock]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Drag Action | Drag Action]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Drag Constrain | Drag Constrain]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Drag Draw | Drag Draw]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Drag Effects | Drag Effects]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Draggable Layer | Draggable Layer]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Draggable List | Draggable List]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Fade | Fade]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Float | Float]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Graph | Graph]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/HyperLink | HyperLink]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Image Clip | Image Clip]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Image Drag Drop | Image Drag Drop]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Image ListBox | Image ListBox]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Image Load | Image Load]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Image Rollover | Image Rollover]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Image Rotate | Image Rotate]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/In Place Editor | In Place Editor]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Key Listener | Key Listener]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Knob | Knob]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Label | Label]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Layer Anchor | Layer Anchor]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Layer Container | Layer Container]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Layer Creation | Layer Creation]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Layer Destroy | Layer Destroy]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Layer Events | Layer Events]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Layer Focus | Layer Focus]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Layer Group | Layer Group]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Layer Limits | Layer Limits]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Layer Position | Layer Position]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Layer Resize Move | Layer Resize Move]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/List | List]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Marquee | Marquee]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Mouse | Mouse]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Nested Layer | Nested Layer]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Panel | Panel]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Popup ToolTip | Popup ToolTip]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Progress Bar | Progress Bar]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Progress Dialog | Progress Dialog]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/RSS | RSS]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Search Engine | Search Engine]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Text Animation | Text Animation]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Text Effects | Text Effects]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Timer Event | Timer Event]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Transaction | Transaction]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/Window Dialog | Window Dialog]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/XML | XML]]&lt;br /&gt;
* [[JavaScript DHTML/Ajax Layer/XMLHttpRequest | XMLHttpRequest]]&lt;br /&gt;
&lt;br /&gt;
==A Purely JavaScript font==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.0 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;JavaScript Image Font&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;meta name=&amp;quot;Generator&amp;quot; content=&amp;quot;EditPlus&amp;quot;&amp;gt;&amp;lt;!-- Gotta love this editor! It&amp;quot;s the best! Utterly customizable and lightweight, both. --&amp;gt;&lt;br /&gt;
&amp;lt;meta name=&amp;quot;Author&amp;quot; content=&amp;quot;Jared Daniel J. Smith&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta name=&amp;quot;Keywords&amp;quot; content=&amp;quot;javascript, dhtml, font, image, graphic, icon, fonts, dom, mozilla, ie, internet explorer, browser, client&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta name=&amp;quot;Description&amp;quot; content=&amp;quot;Pure JavaScript font solution: DHTML rendering text, using a font composed of images.&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
IMG {&lt;br /&gt;
  vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
.tinyimg {&lt;br /&gt;
  height: 1px;&lt;br /&gt;
  width: 1px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;script language=JavaScript&amp;gt;&lt;br /&gt;
/////////////////////////////////////////////////////////&lt;br /&gt;
// A fair amount of these techniques come from the&lt;br /&gt;
// very useful site javascript.faqts.ru. Thanks to&lt;br /&gt;
// the many programmers who make that a very friendly&lt;br /&gt;
// resource. - jared smith at dctkc com, March 19, 2004&lt;br /&gt;
/////////////////////////////////////////////////////////&lt;br /&gt;
// used during ctrlV and shiftIns &amp;quot;paste&amp;quot; text&lt;br /&gt;
var inserted = false;&lt;br /&gt;
// chars outside the normal range of 32 through 126&lt;br /&gt;
var oddchars = new Array(186, 187, 188, 189, 190, 191, 192, 219, 220, 221, 222);&lt;br /&gt;
//////////////////////////////////////////&lt;br /&gt;
// add a single letter using DOM methods&lt;br /&gt;
function addLetter(unicode, divID, height) {&lt;br /&gt;
  src = unicode+&amp;quot;.gif&amp;quot;;&lt;br /&gt;
  // create the img tag&lt;br /&gt;
  itag = document.createElement(&amp;quot;IMG&amp;quot;);&lt;br /&gt;
  itag.src = src;&lt;br /&gt;
  // get the original img height/width&lt;br /&gt;
  h = parseInt(itag.height);&lt;br /&gt;
  w = parseInt(itag.width);&lt;br /&gt;
  // find out their ratio&lt;br /&gt;
  r = (w/h);&lt;br /&gt;
  // make the ratio match the new height&lt;br /&gt;
  height = parseInt(height);&lt;br /&gt;
  width = height * r;&lt;br /&gt;
  // q,p,y,g,;,, descending chars = more height&lt;br /&gt;
  switch (unicode) { &lt;br /&gt;
    case 40: case 41: case 44: case 59: case 106:&lt;br /&gt;
    case 112: case 113: case 121: case 103:&lt;br /&gt;
    width = width * 1.2;&lt;br /&gt;
    height = &lt;br /&gt;
    (height&amp;gt;110)              ? height + (h/3) :&lt;br /&gt;
    (height&amp;gt;100&amp;amp;&amp;amp;height&amp;lt;111)  ? height + (h/2.3) :&lt;br /&gt;
    (height&amp;gt;90&amp;amp;&amp;amp;height&amp;lt;101)   ? height + (h/3.6) :&lt;br /&gt;
    (height&amp;gt;80&amp;amp;&amp;amp;height&amp;lt;91)    ? height + (h/5) :&lt;br /&gt;
    (height&amp;gt;70&amp;amp;&amp;amp;height&amp;lt;81)    ? height + (h/6.1) :&lt;br /&gt;
    (height&amp;gt;60&amp;amp;&amp;amp;height&amp;lt;71)    ? height + (h/7) :&lt;br /&gt;
    (height&amp;gt;50&amp;amp;&amp;amp;height&amp;lt;61)    ? height + (h/8.1) :&lt;br /&gt;
    (height&amp;gt;40&amp;amp;&amp;amp;height&amp;lt;51)    ? height + (h/9.6) :&lt;br /&gt;
    (height&amp;gt;30&amp;amp;&amp;amp;height&amp;lt;41)    ? height + (h/11) :&lt;br /&gt;
    (height&amp;gt;20&amp;amp;&amp;amp;height&amp;lt;31)    ? height + (h/13) :&lt;br /&gt;
    (height&amp;gt;10&amp;amp;&amp;amp;height&amp;lt;21)    ? height + (h/16) :&lt;br /&gt;
    (height&amp;gt;5&amp;amp;&amp;amp;height&amp;lt;11)     ? height + (h/23) : 5;&lt;br /&gt;
  }&lt;br /&gt;
  // assign height and width&lt;br /&gt;
  itag.height=height;&lt;br /&gt;
  itag.width=width;&lt;br /&gt;
  //itag.style.vertical-align=&amp;quot;top&amp;quot;;&lt;br /&gt;
  window.document.getElementById(divID).appendChild(itag);&lt;br /&gt;
}&lt;br /&gt;
//////////////////////////////////////////&lt;br /&gt;
// add a block of text, one letter at a time&lt;br /&gt;
function addTextBlock(txt, divID, height) {&lt;br /&gt;
  for (i=0; i&amp;lt;txt.length; i++) {&lt;br /&gt;
    t = txt.substr(i,1);&lt;br /&gt;
    addLetter(t.charCodeAt(0), divID, height);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////////////////////////////////////&lt;br /&gt;
// if we used ctrlV or shift-Ins to paste text&lt;br /&gt;
function checkInsert(val, divID, height) {&lt;br /&gt;
  if (inserted) {&lt;br /&gt;
    clearText(divID);&lt;br /&gt;
    addTextBlock(val, divID, height);&lt;br /&gt;
    inserted=false;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//////////////////////////////////////////&lt;br /&gt;
// main function to be called for text editing&lt;br /&gt;
function editText(me, event, divID, height) {&lt;br /&gt;
  keyCode = event.keyCode;&lt;br /&gt;
  if (keyCode&amp;gt;=32&amp;amp;&amp;amp;keyCode&amp;lt;=126||keyCode==8) {&lt;br /&gt;
    if (trapEditActions(me, event, keyCode, divID, height)) {&lt;br /&gt;
      addLetter(handleShift(event, keyCode), divID, height);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  for (i=0; i&amp;lt;oddchars.length; i++) {&lt;br /&gt;
    if (keyCode==oddchars[i]) {&lt;br /&gt;
      addLetter(handleShift(event, keyCode), divID, height);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  window.status=keyCode+&amp;quot;:&amp;quot;+String.fromCharCode(keyCode)+&amp;quot;shift: &amp;quot;+event.shiftKey;&lt;br /&gt;
}&lt;br /&gt;
//////////////////////////////////////////&lt;br /&gt;
// ie and moz don&amp;quot;t agree on how to get cursor position in textfield&lt;br /&gt;
function getCursorPos(textElement) {&lt;br /&gt;
  if (textElement.createTextRange) {&lt;br /&gt;
    //save off the current value to restore it later,&lt;br /&gt;
    var sOldText = textElement.value;&lt;br /&gt;
    //create a range object and save off it&amp;quot;s text&lt;br /&gt;
    var objRange = document.selection.createRange();&lt;br /&gt;
    var sOldRange = objRange.text;&lt;br /&gt;
    //set this string to a small string that will not normally be encountered&lt;br /&gt;
    var sWeirdString = &amp;quot;#%~&amp;quot;;&lt;br /&gt;
    //insert the weirdstring where the cursor is at&lt;br /&gt;
    objRange.text = sOldRange + sWeirdString; &lt;br /&gt;
    objRange.moveStart(&amp;quot;character&amp;quot;, (0 - sOldRange.length - sWeirdString.length));&lt;br /&gt;
    //save off the new string with the weirdstring in it&lt;br /&gt;
    var sNewText = textElement.value;&lt;br /&gt;
    //set the actual text value back to how it was&lt;br /&gt;
    objRange.text = sOldRange;&lt;br /&gt;
    //look through the new string we saved off and find the location of&lt;br /&gt;
    //the weirdstring that was inserted and return that value&lt;br /&gt;
    for (i=0; i &amp;lt;= sNewText.length; i++) {&lt;br /&gt;
      var sTemp = sNewText.substring(i, i + sWeirdString.length);&lt;br /&gt;
      if (sTemp == sWeirdString) {&lt;br /&gt;
        var cursorPos = (i - sOldRange.length);&lt;br /&gt;
        return cursorPos;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  } else if (textElement.setSelectionRange) {&lt;br /&gt;
    var len = textElement.selectionEnd;&lt;br /&gt;
  }&lt;br /&gt;
  return len;&lt;br /&gt;
}&lt;br /&gt;
//////////////////////////////////////////&lt;br /&gt;
// handle or skip cursor movement and deletion keys&lt;br /&gt;
function trapEditActions(me, event, keyCode, divID, height) {&lt;br /&gt;
  // start, end, length attributes of the selection text&lt;br /&gt;
  if (window.getSelection) {&lt;br /&gt;
    start = parseInt(me.selectionStart);&lt;br /&gt;
    end = parseInt(me.selectionEnd);&lt;br /&gt;
    len = end - start;&lt;br /&gt;
    txt = me.value.substr(start,len);&lt;br /&gt;
  } else {&lt;br /&gt;
    txt = document.selection.createRange().text;&lt;br /&gt;
    if (txt.length==0) {&lt;br /&gt;
      start = getCursorPos(me);&lt;br /&gt;
      end = start;&lt;br /&gt;
      len = 0;&lt;br /&gt;
    } else {&lt;br /&gt;
      start = me.value.indexOf(txt);&lt;br /&gt;
      len = txt.length;&lt;br /&gt;
      end = start + len;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // handle deletion keys first&lt;br /&gt;
  if (keyCode==46||keyCode==8) { // backspace or delete&lt;br /&gt;
    if (keyCode==46) { // delete&lt;br /&gt;
      if (len==0) { // delete one char to the right&lt;br /&gt;
        newtext = me.value.substr(0,start) + me.value.substr(start+1);&lt;br /&gt;
      } else { // delete selection&lt;br /&gt;
        newtext = me.value.replace(new RegExp(txt, &amp;quot;g&amp;quot;),&amp;quot;&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    } else { // backspace&lt;br /&gt;
      if (len==0) { // delete one char to the left&lt;br /&gt;
        newtext = me.value.substr(0,start-1) + me.value.substr(start);&lt;br /&gt;
      } else { // delete selection&lt;br /&gt;
        newtext = me.value.replace(new RegExp(txt, &amp;quot;g&amp;quot;),&amp;quot;&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    clearText(divID);&lt;br /&gt;
    addTextBlock(newtext, divID, height);&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  // turn &amp;quot;inserted&amp;quot; on if CtrlV; and skip the v&lt;br /&gt;
  if ((event.ctrlKey&amp;amp;&amp;amp;keyCode==86)||(event.shiftKey&amp;amp;&amp;amp;keyCode==45)) {&lt;br /&gt;
    inserted = true;&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  // skip ctrlC&lt;br /&gt;
  if (event.ctrlKey&amp;amp;&amp;amp;keyCode==67) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  // skip all other ctrl keys&lt;br /&gt;
  if (event.ctrlKey) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  // skip all arrow and cursor movement keys&lt;br /&gt;
  switch (keyCode) {&lt;br /&gt;
    case 33: case 34: case 35: case 36: case 37:&lt;br /&gt;
    case 38: case 39: case 40: case 45:&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  // handle any other key possibilities&lt;br /&gt;
  if (len&amp;gt;0) { // we have selected some text...&lt;br /&gt;
    if (keyCode&amp;gt;=32||keyCode&amp;lt;=126) {&lt;br /&gt;
      newtext = me.value.replace(new RegExp(txt, &amp;quot;g&amp;quot;), String.fromCharCode(keyCode));&lt;br /&gt;
    }&lt;br /&gt;
    clearText(divID);&lt;br /&gt;
    addTextBlock(newtext, divID, height);&lt;br /&gt;
    return false;&lt;br /&gt;
  } else if (end!=me.value.length) { // cursor is not at end...&lt;br /&gt;
    if (keyCode&amp;gt;=32||keyCode&amp;lt;=126) {&lt;br /&gt;
      newtext = me.value.substr(0,start) + String.fromCharCode(keyCode) + me.value.substr(start);&lt;br /&gt;
    }&lt;br /&gt;
    clearText(divID);&lt;br /&gt;
    addTextBlock(newtext, divID, height);&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // if we get here, we did NOT get an editing action.&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
//////////////////////////////////////////&lt;br /&gt;
// replace the display ID with &amp;quot;&amp;quot;&lt;br /&gt;
function clearText(divID) {&lt;br /&gt;
  window.document.getElementById(divID).innerHTML=&amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
//////////////////////////////////////////&lt;br /&gt;
// most keys have double meanings depending on shift&lt;br /&gt;
function handleShift(event, k) {&lt;br /&gt;
  if (!event.shiftKey) { //unshifted&lt;br /&gt;
    if (k&amp;gt;=65&amp;amp;&amp;amp;k&amp;lt;=90) { //lowercase letters&lt;br /&gt;
      k = k + 32;&lt;br /&gt;
    }&lt;br /&gt;
    switch (k) { // outside the normal range, unshifted&lt;br /&gt;
      case 186: return 59; case 187: return 61; case 188: return 44;&lt;br /&gt;
      case 189: return 45; case 190: return 46; case 191: return 47;&lt;br /&gt;
      case 192: return 96; case 219: return 91; case 220: return 92;&lt;br /&gt;
      case 221: return 93; case 222: return 39; default: return k;&lt;br /&gt;
    }&lt;br /&gt;
  } else { // number keys &amp;amp;tc, shifted&lt;br /&gt;
    switch (k) {&lt;br /&gt;
      case 48: return 41; case 49: return 33; case 50: return 64;&lt;br /&gt;
      case 51: return 35; case 52: return 36; case 53: return 37;&lt;br /&gt;
      case 54: return 94; case 55: return 38; case 56: return 42;&lt;br /&gt;
      case 57: return 40; case 186: return 58; case 187: return 43;&lt;br /&gt;
      case 188: return 60; case 189: return 95; case 190: return 62;&lt;br /&gt;
      case 191: return 63; case 192: return 126; case 219: return 123;&lt;br /&gt;
      case 220: return 124; case 221: return 125; case 222: return 34;&lt;br /&gt;
      default: return k;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body onLoad=&amp;quot;document.getElementById(&amp;quot;entryspot&amp;quot;).focus();&amp;quot; bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;JavaScript Image Font Demo&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;viewit&amp;quot; style=&amp;quot;height:100;&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;form name=&amp;quot;fontdemo&amp;quot;&amp;gt;&lt;br /&gt;
Font Height (px): &lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;fontheight&amp;quot; value=&amp;quot;75&amp;quot; size=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Enter text: &amp;lt;input type=&amp;quot;text&amp;quot; size=&amp;quot;50&amp;quot; id=&amp;quot;entryspot&amp;quot;&lt;br /&gt;
onKeyDown=&amp;quot;editText(this, event, &amp;quot;viewit&amp;quot;, document.forms.fontdemo.fontheight.value);&amp;quot; &lt;br /&gt;
onKeyUp=&amp;quot;checkInsert(this.value, &amp;quot;viewit&amp;quot;, document.forms.fontdemo.fontheight.value);&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;textarea id=&amp;quot;textspot&amp;quot; cols=50 rows=10&amp;gt;&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; &lt;br /&gt;
onClick=&amp;quot;addTextBlock(document.forms.fontdemo.textspot.value, &amp;quot;viewit&amp;quot;, document.forms.fontdemo.fontheight.value);&amp;quot; &lt;br /&gt;
value=&amp;quot;render this textbox&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; onClick=&amp;quot;clearText(&amp;quot;viewit&amp;quot;);&amp;quot; value=&amp;quot;clear display text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;A Purely JavaScript font&amp;lt;/h3&amp;gt;&lt;br /&gt;
This script comes with 95 images, each named after &lt;br /&gt;
the unicode value for the letter it contains. For example, &lt;br /&gt;
the letter &amp;quot;a&amp;quot; is stored as a tiny GIF image called &lt;br /&gt;
&amp;quot;97.gif&amp;quot;. The images are each about 1.5k, all together &lt;br /&gt;
about 130K. They are preloaded into this document &lt;br /&gt;
so JavaScript can render them quickly. This program&lt;br /&gt;
was written as part of the solution to match screen&lt;br /&gt;
fonts with SATO printer fonts in a WYSIWYG fashion.&lt;br /&gt;
The images are actual scans from a SATO CL408e barcode &lt;br /&gt;
printer.&lt;br /&gt;
&amp;lt;h3&amp;gt;Cross Browser DHTML&amp;lt;/h3&amp;gt;&lt;br /&gt;
No, this will not work for browsers under about v.6,&lt;br /&gt;
but it renders well in the current IE and Mozilla both.&lt;br /&gt;
I used the DOM method for creating the images in your&lt;br /&gt;
document; this is the fastest way to render. InnerHTML&lt;br /&gt;
is used only once; to clear the display.&lt;br /&gt;
&amp;lt;h3&amp;gt;Scaleable&amp;lt;/h3&amp;gt;&lt;br /&gt;
Change the font height above, and you can see that the&lt;br /&gt;
font scales well, for being a kludgy scan of an &lt;br /&gt;
admittedly simple barcode font. Set the fontsize to&lt;br /&gt;
1000, you will see that it loads the image just as fast&lt;br /&gt;
as if it were 10 pixels high. Still, the speed is not&lt;br /&gt;
useful for text more than about 50 characters at a time,&lt;br /&gt;
since DELETE and BACKSPACE actions redraw all text.&lt;br /&gt;
Perhaps there is a more elegant way to handle these.&lt;br /&gt;
&amp;lt;h3&amp;gt;Enjoy!&amp;lt;/h3&amp;gt;&lt;br /&gt;
Now have fun with that barcode printer. This code is&lt;br /&gt;
a stub for all kinds of applications. With some optimization,&lt;br /&gt;
it could be used for online layout and design of more&lt;br /&gt;
complex text than this simple font. I think all that&amp;quot;s&lt;br /&gt;
left is kerning.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- preloaded images so there is no pause during display --&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;100.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;101.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;102.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;103.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;104.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;105.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;106.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;107.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;108.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;109.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;110.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;110.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;112.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;113.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;114.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;115.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;116.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;117.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;118.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;119.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;120.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;121.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;122.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;123.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;124.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;125.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;126.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;32.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;33.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;34.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;35.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;36.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;37.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;38.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;39.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;40.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;41.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;42.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;43.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;44.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;45.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;46.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;47.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;48.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;49.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;50.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;51.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;52.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;53.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;54.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;55.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;56.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;57.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;58.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;59.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;60.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;61.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;62.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;63.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;64.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;65.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;66.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;67.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;68.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;69.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;70.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;71.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;72.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;73.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;74.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;75.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;76.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;77.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;78.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;79.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;80.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;81.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;82.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;83.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;84.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;85.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;86.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;87.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;88.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;89.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;90.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;91.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;92.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;93.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;94.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;95.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;96.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;97.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;98.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;99.gif&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
javascriptfont.zip( 62 k)&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How to animate an element&amp;quot;s font, border, and background color==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot; &amp;quot;http://www.w3.org/TR/html4/strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Animation Example - how to animate an element&amp;quot;s font, border, and background color&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Copyright (c) 2006, Yahoo! Inc. All rights reserved.&lt;br /&gt;
Code licensed under the BSD License:&lt;br /&gt;
http://developer.yahoo.net/yui/license.txt&lt;br /&gt;
Version: 0.10.0&lt;br /&gt;
*/&lt;br /&gt;
body {&lt;br /&gt;
   margin:0;&lt;br /&gt;
   font:small arial;&lt;br /&gt;
}&lt;br /&gt;
h1 {&lt;br /&gt;
   color:#666;&lt;br /&gt;
   margin:0;&lt;br /&gt;
   font:bold 150% palatino, georgia;&lt;br /&gt;
}&lt;br /&gt;
#hd img {&lt;br /&gt;
   vertical-align:middle;&lt;br /&gt;
}&lt;br /&gt;
#hd h1 {&lt;br /&gt;
   display:inline;&lt;br /&gt;
   margin:0 0 0 20px;&lt;br /&gt;
   vertical-align:middle;&lt;br /&gt;
}&lt;br /&gt;
ul, li {&lt;br /&gt;
   margin:0;&lt;br /&gt;
   padding:0;&lt;br /&gt;
   list-style:none;&lt;br /&gt;
}&lt;br /&gt;
#doc {&lt;br /&gt;
   margin:10px;&lt;br /&gt;
}&lt;br /&gt;
#examples {&lt;br /&gt;
   margin:60px 40px;&lt;br /&gt;
}&lt;br /&gt;
#examples li {&lt;br /&gt;
   margin-bottom:1em;&lt;br /&gt;
}&lt;br /&gt;
#examples li a {&lt;br /&gt;
   color:#666;&lt;br /&gt;
   font:85% verdana;&lt;br /&gt;
}&lt;br /&gt;
#demo {&lt;br /&gt;
   background:#ccc;&lt;br /&gt;
   font:100%/1.2em arial;&lt;br /&gt;
   width:10px;&lt;br /&gt;
   height:10px;&lt;br /&gt;
}&lt;br /&gt;
#animation-demo-scroll #demo p {&lt;br /&gt;
   width:600px;&lt;br /&gt;
}&lt;br /&gt;
#animation-demo-motion #demo {&lt;br /&gt;
   color:yellow;&lt;br /&gt;
   font-size:0;&lt;br /&gt;
}&lt;br /&gt;
#animation-demo-size-plus #demo, #animation-demo-fade #demo, #animation-demo-colors #demo {&lt;br /&gt;
   background:#ccc;&lt;br /&gt;
   font:100%/1.2em arial;&lt;br /&gt;
   width:200px;&lt;br /&gt;
   height:200px;&lt;br /&gt;
}&lt;br /&gt;
#animation-demo-colors #demo {&lt;br /&gt;
   border:3px solid #c3c;&lt;br /&gt;
}&lt;br /&gt;
#animation-demo-scroll #demo {&lt;br /&gt;
   width:400px;&lt;br /&gt;
   height:200px;&lt;br /&gt;
   overflow:auto;&lt;br /&gt;
}&lt;br /&gt;
#animation-demo-colors #demo {&lt;br /&gt;
}&lt;br /&gt;
#target {&lt;br /&gt;
   background:red;&lt;br /&gt;
   font-size:0;&lt;br /&gt;
   position:absolute;&lt;br /&gt;
   left:300px;top:300px;&lt;br /&gt;
   width:10px;&lt;br /&gt;
   height:10px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;./build/yahoo/yahoo.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;./build/event/event.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;./build/dom/dom.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;./build/animation/animation.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
YAHOO.example.init = function() {   &lt;br /&gt;
   var attributes = {&lt;br /&gt;
      color: { to: &amp;quot;#f00&amp;quot; },&lt;br /&gt;
      backgroundColor: { to:  &amp;quot;rgb(0, 255, 0)&amp;quot; },&lt;br /&gt;
      borderTopColor: { to: &amp;quot;#dcdcdc&amp;quot; },&lt;br /&gt;
      borderRightColor: { to: &amp;quot;dcdcdc&amp;quot; },&lt;br /&gt;
      borderBottomColor: { to: &amp;quot;dcdcdc&amp;quot; },&lt;br /&gt;
      borderLeftColor: { to: &amp;quot;dcdcdc&amp;quot; }&lt;br /&gt;
   };&lt;br /&gt;
   &lt;br /&gt;
   var anim = new YAHOO.util.ColorAnim(&amp;quot;demo&amp;quot;, attributes);&lt;br /&gt;
   YAHOO.util.Event.on(document, &amp;quot;click&amp;quot;, anim.animate, anim, true);&lt;br /&gt;
};&lt;br /&gt;
YAHOO.util.Event.onAvailable(&amp;quot;demo&amp;quot;, YAHOO.example.init);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body id=&amp;quot;animation-demo-colors&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;doc&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;h1&amp;gt;Animation Example - Colors&amp;lt;/h1&amp;gt;&lt;br /&gt;
   &amp;lt;p&amp;gt;This example demonstrates how to animate an element&amp;quot;s font, border, and background color.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;p&amp;gt;Click anywhere to start animation.&amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;lt;div id=&amp;quot;demo&amp;quot;&amp;gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat &amp;lt;/div&amp;gt;  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/yui.zip&amp;quot;&amp;gt;yui.zip( 3,714 k)&amp;lt;/a&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>