<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: div code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Mon, 13 Oct 2008 19:47:33 GMT</pubDate>
    <description>DZone Snippets: div code</description>
    <item>
      <title>Change colour when a div (runtime dimension and position) contains another div (fixed dimension and position)</title>
      <link>http://snippets.dzone.com/posts/show/3988</link>
      <description>This code is not tested so much, and is little slow. It is only a test, but it works. Requires PROTOTYPE.JS&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;br /&gt;        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;&lt;br /&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;&lt;br /&gt;&lt;head&gt;&lt;br /&gt;  &lt;title&gt;Prova di selezione rettangolo&lt;/title&gt;&lt;br /&gt;  &lt;script src="prototype.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;script&gt;&lt;br /&gt;  Event.observe(document,"mousedown",MouseDown);&lt;br /&gt;  Event.observe(document,"mouseup",MouseUp);&lt;br /&gt;  Event.observe(document,"mousemove",MouseMove);&lt;br /&gt;  &lt;br /&gt;  var x1 = -1;&lt;br /&gt;  var y1 = -1;&lt;br /&gt;  var w = 0;&lt;br /&gt;  var h = 0;&lt;br /&gt;  var make = false;&lt;br /&gt;  var shift = false;&lt;br /&gt;  function MouseDown(e) {&lt;br /&gt;  	$('mouse').innerHTML = "mousedown";&lt;br /&gt;	&lt;br /&gt;		x1 = Event.pointerX( e );&lt;br /&gt;		y1 = Event.pointerY( e );&lt;br /&gt;		$('box').setStyle({top:y1+"px",left:x1+"px",width: w+"px",height:h+"px"});&lt;br /&gt;		make = true;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  function MouseUp(e) {&lt;br /&gt;  	$('mouse').innerHTML = "mouseup";&lt;br /&gt;	make = false;&lt;br /&gt;	w = 1;&lt;br /&gt;	h = 1;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  function MouseMove(e) {&lt;br /&gt;  	var x2 = Event.pointerX( e );&lt;br /&gt;        var y2 = Event.pointerY( e );&lt;br /&gt;	var l = x1;&lt;br /&gt;	var t = y1;&lt;br /&gt;	$('pointer').innerHTML = "X1: "+x1+" -- X2: "+x2+" -- Y1: "+y1+" -- Y2: "+y2;&lt;br /&gt;	&lt;br /&gt;	if (x1 &gt; -1 &amp;&amp; make == true) {&lt;br /&gt;		var x2 = Event.pointerX( e );&lt;br /&gt;		var y2 = Event.pointerY( e );&lt;br /&gt;	&lt;br /&gt;		&lt;br /&gt;		if (x2 &lt; x1) {&lt;br /&gt;			l = x2;&lt;br /&gt;			x2 = x1;&lt;br /&gt;		}&lt;br /&gt;		&lt;br /&gt;		if (y2 &lt; y1) {&lt;br /&gt;			var t = y2;&lt;br /&gt;			&lt;br /&gt;			y2 = y1;&lt;br /&gt;		}&lt;br /&gt;		&lt;br /&gt;		var w = (x2 - l);&lt;br /&gt;		var h = (y2 - t);&lt;br /&gt;		$('box').setStyle({top:t+"px",left:l+"px",width:w+"px",height:h+"px"});&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	pippo = $$('div.pippo');&lt;br /&gt;	var rect = $('box');&lt;br /&gt;	var n = pippo.size();&lt;br /&gt;	$('rectc').innerHTML = '';&lt;br /&gt;	$('rectc').innerHTML += Position.cumulativeOffset(rect)+" -- ";&lt;br /&gt;	for (var i = 0;i&lt;n;i++) {&lt;br /&gt;		var el = $(pippo[i].id);&lt;br /&gt;		var xy = Position.cumulativeOffset(el);&lt;br /&gt;		var elx1 = xy[0];&lt;br /&gt;		var ely1 = xy[1];&lt;br /&gt;		var xy = el.getDimensions();&lt;br /&gt;		var elx2 = elx1 + xy.height;&lt;br /&gt;		var ely2 = ely1 + xy.width;&lt;br /&gt;		$('rectc').innerHTML += "x1: "+elx1+" x2: "+elx2+" y1:"+ely1+" y2: "+ely2;&lt;br /&gt;		if (Position.within(rect,elx1,ely1) || Position.within(rect,elx2,ely1) || Position.within(rect,elx1,ely2) || Position.within(rect,elx2,ely2)) {&lt;br /&gt;			$('rectc').innerHTML += "true";&lt;br /&gt;			$(el).setStyle({backgroundColor:'red'});&lt;br /&gt;		} else {&lt;br /&gt;			$('rectc').innerHTML += " -- false";&lt;br /&gt;			$(el).setStyle({backgroundColor:'transparent'});&lt;br /&gt;		}&lt;br /&gt;		$('rectc').innerHTML += ' &lt;&lt;&gt;&gt; ';&lt;br /&gt;	}&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;/script&gt;&lt;br /&gt;&lt;/head&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;&lt;div id="debug_container" style="border: 1px red solid"&gt;&lt;br /&gt;	&lt;div id="mouse"&gt;&lt;/div&gt;&lt;br /&gt;	&lt;div id="pointer"&gt;&lt;/div&gt;&lt;br /&gt;	&lt;div id="pippoc"&gt;&lt;/div&gt;&lt;br /&gt;	&lt;div id="rectc"&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="box" style="border: 1px green solid; position: absolute;z-Index: 1000"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="pippo" class="pippo" style="position:absolute;left:200px;top:200px;width:100px;height:100px;border: 2px blue solid" onclick="pippoClick(this)"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="pippo2" class="pippo" style="position:absolute;left:300px;top:200px;width:100px;height:100px;border: 2px blue solid" onclick="pippoClick(this)"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="pippo3" class="pippo" style="position:absolute;left:400px;top:200px;width:100px;height:100px;border: 2px blue solid" onclick="pippoClick(this)"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 11 May 2007 00:12:56 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3988</guid>
      <author>ziobudda (ziobudda)</author>
    </item>
    <item>
      <title>div function</title>
      <link>http://snippets.dzone.com/posts/show/1095</link>
      <description>&lt;code&gt;&lt;br /&gt;    div: func [&lt;br /&gt;        "Returns the quotient and remainder of the first value divided by the second."&lt;br /&gt;        value1 [number! money! time!]&lt;br /&gt;        value2 [number! money! time!]&lt;br /&gt;    ][&lt;br /&gt;        reduce [round/down value1 / value2  remainder value1 value2]&lt;br /&gt;    ]&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 10 Jan 2006 05:32:54 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1095</guid>
      <author>gregg.irwin (Gregg Irwin)</author>
    </item>
    <item>
      <title>HitTest //JavaScript Function</title>
      <link>http://snippets.dzone.com/posts/show/913</link>
      <description>&lt;a href="http://jsfromhell.com/geral/hittest"&gt;&lt;br /&gt;With this it's possible to correct the "SELECT over DIV" IE bug as i showed in the example bellow&lt;br /&gt;&lt;br /&gt;it checks one element (or an array of them) against another one and returns the itens that matched the hit test (if the element superposes the other one in any place)&lt;br /&gt;&lt;br /&gt;[UPDATED CODE AND HELP CAN BE FOUND HERE]&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;code&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;//+ Jonas Raoni Soares Silva&lt;br /&gt;//@ http://jsfromhell.com/geral/hittest [v1.0]&lt;br /&gt;&lt;br /&gt;hitTest = function(o, l){&lt;br /&gt;	function getOffset(o){&lt;br /&gt;		for(var r = {l: o.offsetLeft, t: o.offsetTop, r: o.offsetWidth, b: o.offsetHeight};&lt;br /&gt;			o = o.offsetParent; r.l += o.offsetLeft, r.t += o.offsetTop);&lt;br /&gt;		return r.r += r.l, r.b += r.t, r;&lt;br /&gt;	}&lt;br /&gt;	for(var b, s, r = [], a = getOffset(o), j = isNaN(l.length), i = (j ? l = [l] : l).length; i;&lt;br /&gt;		b = getOffset(l[--i]), (a.l == b.l || (a.l &gt; b.l ? a.l &lt;= b.r : b.l &lt;= a.r))&lt;br /&gt;		&amp;&amp; (a.t == b.t || (a.t &gt; b.t ? a.t &lt;= b.b : b.t &lt;= a.b)) &amp;&amp; (r[r.length] = l[i]));&lt;br /&gt;	return j ? !!r.length : r;&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;usage&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;#menu{position: absolute; height: 500px; width: 200px; display: none; border: 1px solid #999; background: #eef;}&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="menu"&gt;&lt;br /&gt;    &lt;input type="button" onclick="hide();" value="Hide Menu" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;form action=""&gt;&lt;br /&gt;    &lt;fieldset&gt;&lt;br /&gt;    &lt;strong&gt;DIV x SELECT&lt;/strong&gt;&lt;br /&gt;    &lt;br /&gt;&lt;select&gt;&lt;option&gt;DIV OVER SELECT DIV OVER SELECT DIV OVER SELECT&lt;/option&gt;&lt;/select&gt;&lt;br /&gt;    &lt;input type="button" onclick="show();" value="Show Menu" /&gt;&lt;br /&gt;    &lt;/fieldset&gt;&lt;br /&gt;&lt;/form&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;//&lt;![CDATA[&lt;br /&gt;&lt;br /&gt;var x = document.getElementById("menu");&lt;br /&gt;&lt;br /&gt;//exemplo de como consertar o problema do select em cima do div, como s&#243; acontece no IE, &#233; poss&#237;vel sniffar o browser...&lt;br /&gt;&lt;br /&gt;function show(){&lt;br /&gt;    x.style.display = "block";&lt;br /&gt;    if(!x.ieFix)&lt;br /&gt;        x.ieFix = hitTest(x, document.getElementsByTagName("select"));&lt;br /&gt;    for(var i = x.ieFix.length; i; x.ieFix[--i].style.visibility = "hidden");&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function hide(){&lt;br /&gt;    x.style.display = "none";&lt;br /&gt;    for(var i = x.ieFix.length; i; x.ieFix[--i].style.visibility = "visible");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//]]&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 24 Nov 2005 18:55:27 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/913</guid>
      <author>jonasraoni (Jonas Raoni Soares Silva)</author>
    </item>
  </channel>
</rss>
