<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>裁纸刀下 &#187; dom</title>
	<atom:link href="http://ofcss.com/tags/dom/feed" rel="self" type="application/rss+xml" />
	<link>http://ofcss.com</link>
	<description>独立 自由 诚信 宽容 责任 平常心</description>
	<lastBuildDate>Fri, 20 Apr 2012 04:08:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>动态实现指定图片半透明及鼠标事件</title>
		<link>http://ofcss.com/2006/04/04/dynamic-mouse-event-of-image-transparency.html</link>
		<comments>http://ofcss.com/2006/04/04/dynamic-mouse-event-of-image-transparency.html#comments</comments>
		<pubDate>Tue, 04 Apr 2006 03:35:00 +0000</pubDate>
		<dc:creator>小李刀刀</dc:creator>
				<category><![CDATA[所谓技术]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[网页]]></category>

		<guid isPermaLink="false">http://wukangrui.net/?p=205</guid>
		<description><![CDATA[说明：在不改变HTML代码的前提下，通过CSS和JavaScript，对指定的图片实现半透明效果。并为该图片添加鼠标滑过和滑出特效。 具体实现： 1.假设我们要操作的图片放置在一个id=&#34;imgbox&#34;的div容器中。如下面的代码： &#60;div id=&#34;imgbox&#34; style=&#34;width:700px;margin:auto;&#34;&#62;&#60;img src=&#34;/images/logof.gif&#34;&#62;&#60;/div&#62; 2.首先，在css中增加两个类定义，为了避免影响到其它图片，最好是用选择限定符加以限定。如下代码： #imgbox img.low{-moz-opacity:0.5;filter:alpha(opacity=50);cursor:hand;}#imgbox img.high{-moz-opacity:1;filter:alpha(opacity=100);cursor:hand;} 3.然后在网页的&#60;head&#62;区域增加JavaScript，JavaScript将在页面载入完成之后，为我们指定的图片添加半透明效果和鼠标事件： &#60;script language=&#34;JavaScript&#34; type=&#34;text/javascript&#34;&#62;window.onload = function() {&#160;var imgNode = document.getElementById(&#34;imgbox&#34;).getElementsByTagName(&#34;img&#34;)[0];&#160;imgNode.setAttribute(&#34;class&#34;,&#34;low&#34;);&#160;imgNode.className = &#34;low&#34;;&#160;imgNode.onmouseover = function(){&#160;&#160;this.setAttribute(&#34;class&#34;,&#34;high&#34;);&#160;&#160;this.className = &#34;high&#34;;&#160;}&#160;imgNode.onmouseout = function(){&#160;&#160;this.setAttribute(&#34;class&#34;,&#34;low&#34;);&#160;&#160;this.className = &#34;low&#34;;&#160;}}&#60;/script&#62; 补充说明： 在上面的JavaScript中，设置图片的class属性的时候，同时使用了两种方式： imgNode.setAttribute(&#34;class&#34;,&#34;low&#34;);imgNode.className = &#34;low&#34;; 第一种方式是针对IE以外的浏览器，按理说设置class属性对所有的浏览器都是有效的。但是IE比较有个性，它通过元素的className来定义class属性。这是IE不符合规范的地方，但是我们不得不考虑到IE占据的广大市场。所以，同时使用两种方式，从而达到跨浏览器兼容的效果。 适合多图片调用的修改 当时做的时候是针对单张图片的情况做的。如果要用于调用的多图片，可以把JS代码做如下修改： &#60;script language=&#34;JavaScript&#34; type=&#34;text/javascript&#34;&#62;window.onload = function() {&#160;&#160;&#160; var imgNodes = document.getElementById(&#34;imgbox&#34;).getElementsByTagName(&#34;img&#34;);&#160;&#160;&#160; for (var i=0; i&#60;imgNodes.length; i++ ){&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<div style="FONT-SIZE: 12px">
<p>说明：在不改变HTML代码的前提下，通过CSS和JavaScript，对指定的图片实现半透明效果。并为该图片添加鼠标滑过和滑出特效。</p>
<p>具体实现：</p>
<p>1.假设我们要操作的图片放置在一个id=&quot;imgbox&quot;的div容器中。如下面的代码：</p>
<div class="HtmlCode">
<div class="Code">&lt;div id=&quot;imgbox&quot; style=&quot;width:700px;margin:auto;&quot;&gt;&lt;img src=&quot;/images/logof.gif&quot;&gt;&lt;/div&gt;</div>
</div>
<p>2.首先，在css中增加两个类定义，为了避免影响到其它图片，最好是用选择限定符加以限定。如下代码：</p>
<div class="HtmlCode">
<div class="Code">#imgbox img.low{-moz-opacity:0.5;filter:alpha(opacity=50);cursor:hand;}<br />#imgbox img.high{-moz-opacity:1;filter:alpha(opacity=100);cursor:hand;}</div>
</div>
<p>3.然后在网页的&lt;head&gt;区域增加JavaScript，JavaScript将在页面载入完成之后，为我们指定的图片添加半透明效果和鼠标事件：</p>
<div class="HtmlCode">
<div class="Code">&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot;&gt;<br />window.onload = function() {<br />&nbsp;var imgNode = document.getElementById(&quot;imgbox&quot;).getElementsByTagName(&quot;img&quot;)[0];<br />&nbsp;imgNode.setAttribute(&quot;class&quot;,&quot;low&quot;);<br />&nbsp;imgNode.className = &quot;low&quot;;<br />&nbsp;imgNode.onmouseover = function(){<br />&nbsp;&nbsp;this.setAttribute(&quot;class&quot;,&quot;high&quot;);<br />&nbsp;&nbsp;this.className = &quot;high&quot;;<br />&nbsp;}<br />&nbsp;imgNode.onmouseout = function(){<br />&nbsp;&nbsp;this.setAttribute(&quot;class&quot;,&quot;low&quot;);<br />&nbsp;&nbsp;this.className = &quot;low&quot;;<br />&nbsp;}<br />}<br />&lt;/script&gt;</div>
</div>
<p>补充说明：</p>
<p>在上面的JavaScript中，设置图片的class属性的时候，同时使用了两种方式：</p>
<div class="HtmlCode">
<div class="Code">imgNode.setAttribute(&quot;class&quot;,&quot;low&quot;);<br />imgNode.className = &quot;low&quot;;</div>
</div>
<p>第一种方式是针对IE以外的浏览器，按理说设置class属性对所有的浏览器都是有效的。但是IE比较有个性，它通过元素的className来定义class属性。这是IE不符合规范的地方，但是我们不得不考虑到IE占据的广大市场。所以，同时使用两种方式，从而达到跨浏览器兼容的效果。</p>
<p><span class="bold"><strong>适合多图片调用的修改</strong></span></p>
<div style="FONT-SIZE: 12px">
<p>当时做的时候是针对单张图片的情况做的。如果要用于调用的多图片，可以把JS代码做如下修改：</p>
<div class="quote">
<div>
<div class="Code">&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot;&gt;<br />window.onload = function() {<br />&nbsp;&nbsp;&nbsp; var imgNodes = document.getElementById(&quot;imgbox&quot;).getElementsByTagName(&quot;img&quot;);<br />&nbsp;&nbsp;&nbsp; for (var i=0; i&lt;imgNodes.length; i++ ){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var imgNode = imgNodes;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imgNode.setAttribute(&quot;class&quot;,&quot;low&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imgNode.className = &quot;low&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imgNode.onmouseover = function(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.setAttribute(&quot;class&quot;,&quot;high&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.className = &quot;high&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imgNode.onmouseout = function(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.setAttribute(&quot;class&quot;,&quot;low&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.className = &quot;low&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br />}<br />&lt;/script&gt;</div>
<p>再做改进：改为当图片加载完毕就产生效果：</p>
<p>首先定义函数：</p>
<div class="HtmlCode">
<div class="Code">&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot;&gt;<br />function transpic() {<br />&nbsp;&nbsp;&nbsp; var imgNodes = document.getElementById(&quot;imgbox&quot;).getElementsByTagName(&quot;img&quot;);<br />&nbsp;&nbsp;&nbsp; for (var i=0; i&lt;imgNodes.length; i++ ){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var imgNode = imgNodes;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imgNode.setAttribute(&quot;class&quot;,&quot;low&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imgNode.className = &quot;low&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imgNode.onmouseover = function(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.setAttribute(&quot;class&quot;,&quot;high&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.className = &quot;high&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imgNode.onmouseout = function(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.setAttribute(&quot;class&quot;,&quot;low&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.className = &quot;low&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br />}<br />&lt;/script&gt;</div>
</div>
<p>然后在图片调用代码的后面调用此函数（例如）：</p>
<div class="HtmlCode">
<div class="Code">
<p>&lt;div id=&quot;imgbox&quot; style=&quot;width:700px;margin:auto;&quot;&gt;&lt;img src=&quot;/images/logof.gif&quot;&gt;&lt;/div&gt;<br />&lt;script type=&quot;text/javascript&quot; language=&quot;JavaScript&quot;&gt;transpic();&lt;/script&gt;</p>
</div>
</div>
</div>
</div>
</div>
</div>
<h3  class="related_post_title">相关日志</h3><ul class="related_post"><li>2009-12-21 -- <a href="http://ofcss.com/2009/12/21/web-developer-understand-css-box-model.html" title="前台开发从头说起：理解css盒模型">前台开发从头说起：理解css盒模型</a></li><li>2009-12-16 -- <a href="http://ofcss.com/2009/12/16/web-developer-about-css-selector.html" title="前台开发从头说起：谈谈CSS选择符">前台开发从头说起：谈谈CSS选择符</a></li><li>2009-12-15 -- <a href="http://ofcss.com/2009/12/15/web-developer-from-web-standard.html" title="前台开发从头说起：关于web标准化">前台开发从头说起：关于web标准化</a></li><li>2009-06-22 -- <a href="http://ofcss.com/2009/06/22/whatever-hover-pseudo-class-without-javascript.html" title="Whatever:hover &#8211; 无需javascript让IE支持丰富伪类">Whatever:hover &#8211; 无需javascript让IE支持丰富伪类</a></li><li>2009-04-13 -- <a href="http://ofcss.com/2009/04/13/portable-interchangeable-jquery-based-tabs.html" title="简单、通用的JQuery Tab实现">简单、通用的JQuery Tab实现</a></li><li>2011-03-14 -- <a href="http://ofcss.com/2011/03/14/browser-rendering-optimizer-translation-extra.html" title="对《优化浏览器渲染》的补充【译】">对《优化浏览器渲染》的补充【译】</a></li><li>2011-03-12 -- <a href="http://ofcss.com/2011/03/12/flexible-two-column-layout-reloaded.html" title="自适应的多列图文混排改进">自适应的多列图文混排改进</a></li><li>2010-10-30 -- <a href="http://ofcss.com/2010/10/30/bfc-element-margin-bug-in-webkit.html" title="webkit中BFC元素临近浮动元素时的边距bug">webkit中BFC元素临近浮动元素时的边距bug</a></li><li>2010-10-20 -- <a href="http://ofcss.com/2010/10/20/clearfix-reloaded-overflowhidden-demystified-translation.html" title="clearfix改良及overflow:hidden详解【译】">clearfix改良及overflow:hidden详解【译】</a></li><li>2010-06-09 -- <a href="http://ofcss.com/2010/06/09/my-rencent-booklist.html" title="最近的书单">最近的书单</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://ofcss.com/2006/04/04/dynamic-mouse-event-of-image-transparency.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

