Using the TextRectangle Object Properties : Text HTML « HTML « JavaScript DHTML






Using the TextRectangle Object Properties

/* JavaScript Bible, Fourth Edition by Danny Goodman Publisher: John Wiley & Sons CopyRight 2001 ISBN: 0764533428 */ <HTML> <HEAD> <TITLE>TextRectangle Object</TITLE> <SCRIPT LANGUAGE="JavaScript"> // preserve reference to last clicked elem so resize can re-use it var lastElem // TextRectangle left tends to be out of registration by a couple of pixels var rectLeftCorrection = 2 // process mouse click function handleClick() { var elem = event.srcElement if (elem.className && elem.className == "sample") { // set hiliter element only on a subset of elements  lastElem = elem setHiliter() } else { // otherwise, hide the hiliter  hideHiliter() } } function setHiliter() { if (lastElem) { var textRect = lastElem.getBoundingClientRect() hiliter.style.pixelTop = textRect.top + document.body.scrollTop hiliter.style.pixelLeft = textRect.left + document.body.scrollLeft - rectLeftCorrection hiliter.style.pixelHeight = textRect.bottom - textRect.top hiliter.style.pixelWidth = textRect.right - textRect.left hiliter.style.visibility = "visible" } } function hideHiliter() { hiliter.style.visibility = "hidden" lastElem = null } </SCRIPT> </HEAD> <BODY onClick="handleClick()" onResize="setHiliter()"> <H1>TextRectangle Object</H1> <HR> <P>Click on any of the four colored elements in the paragraph below and watch the highlight rectangle adjust itself to the element's TextRectangle object. <P CLASS="sample">Lorem ipsum dolor sit amet, <SPAN CLASS="sample" STYLE="color:red">consectetaur adipisicing elit</SPAN>, sed do eiusmod tempor <SPAN CLASS="sample" STYLE="color:green">incididunt ut labore et dolore <SPAN CLASS="sample" STYLE="color:blue">magna aliqua</SPAN>. Ut enim adminim veniam, quis nostrud exercitation ullamco</SPAN> laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit involuptate velit esse cillum dolore eu fugiat nulla pariatur.</P> <DIV ID="hiliter" STYLE="position:absolute; background-color:salmon; z-index:-1; visibility:hidden"></DIV> </BODY> </HTML> 








Related examples in the same category

1.An example of a scrolling message
2.Animating Text Styles
3.Moving Text
4.Exploring the Bounding TextRange Properties
5.compareEndPoints() Method
6. Two Search and Replace Approaches (with Undo)
7.Using the document.selection Object
8.Encipher and Decipher
close