求ssim的matlab代码的详细注解

电脑教程010

求ssim的matlab代码的详细注解,第1张

function [mssim, ssim_map] = ssim(img1, img2, K, window, L)

%========================================================================

%SSIM Index, Version 1.0

%Copyright(c) 2003 Zhou Wang

%All Rights Reserved.

%

%The author was with Howard Hughes Medical Institute, and Laboratory

%for Computational Vision at Center for Neural Science and Courant

%Institute of Mathematical Sciences, New York University, USA. He is

%currently with Department of Electrical and Computer Engineering,

%University of Waterloo, Canada.

%

%----------------------------------------------------------------------

%Permission to use, copy, or modify this software and its documentation

%for educational and research purposes only and without fee is hereby

%granted, provided that this copyright notice and the original authors'

%names appear on all copies and supporting documentation. This program

%shall not be used, rewritten, or adapted as the basis of a commercial

%software or hardware product without first obtaining permission of the

%authors. The authors make no representations about the suitability of

%this software for any purpose. It is provided "as is" without express

%or implied warranty.

%----------------------------------------------------------------------

%

%This is an implementation of the algorithm for calculating the

%Structural SIMilarity (SSIM) index between two images. Please refer

%to the following paper:

%

%Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, "Image

%quality assessment: From error measurement to structural similarity"

%IEEE Transactios on Image Processing, vol. 13, no. 4, Apr. 2004.

%

%Kindly report any suggestions or corrections to [email protected]

%

%----------------------------------------------------------------------

%

%Input : (1) img1: the first image being compared

%(2) img2: the second image being compared

%(3) K: constants in the SSIM index formula (see the above

%reference). defualt value: K = [0.01 0.03]

%(4) window: local window for statistics (see the above

%reference). default widnow is Gaussian given by

%window = fspecial('gaussian', 11, 1.5)

%(5) L: dynamic range of the images. default: L = 255

%

%Output: (1) mssim: the mean SSIM index value between 2 images.

%If one of the images being compared is regarded as

%perfect quality, then mssim can be considered as the

%quality measure of the other image.

%If img1 = img2, then mssim = 1.

%(2) ssim_map: the SSIM index map of the test image. The map

%has a smaller size than the input images. The actual size:

%size(img1) - size(window) + 1.

%

%Default Usage:

% Given 2 test images img1 and img2, whose dynamic range is 0-255

%

% [mssim ssim_map] = ssim_index(img1, img2)

%

%Advanced Usage:

% User defined parameters. For example

%

% K = [0.05 0.05]

% window = ones(8)

% L = 100

% K = [0.01 0.03]

% window = ones(8)

% L = 255

% [mssim ssim_map] = ssim_index(img1, img2, K, window, L)

%

%See the results:

%

% mssim%Gives the mssim value

% imshow(max(0, ssim_map).^4) %Shows the SSIM index map

%

%========================================================================

if (nargin <2 | nargin >5)%参数个数小于2个或者大于5个,则退出

mssim = -Inf

ssim_map = -Inf

return

end

if (size(img1) ~= size(img2)) %对比的两幅图大小要一致,否则退出

mssim = -Inf

ssim_map = -Inf

return

end

[M N] = size(img1)%将图1的大小赋值给M N

if (nargin == 2)%参数为2时

if ((M <11) | (N <11)) %图像长宽都不能小于11,否则退出

mssim = -Inf

ssim_map = -Inf

return

end

window = fspecial('gaussian', 11, 1.5)%建立预定义的滤波算子。

%为高斯低通滤波,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准值,单位为像素,默认值为0.5.

K(1) = 0.01 %K L参数设置为最佳默认值

K(2) = 0.03 %

L = 255 %设置L的默认值

end

if (nargin == 3)%参数为3个时,第3个参数为K

if ((M <11) | (N <11))

mssim = -Inf

ssim_map = -Inf

return

end

window = fspecial('gaussian', 11, 1.5)

L = 255

if (length(K) == 2) %参数K为2个元素的数组,且都大于0

if (K(1) <0 | K(2) <0)

mssim = -Inf

ssim_map = -Inf

return

end

else

mssim = -Inf

ssim_map = -Inf

return

end

end

if (nargin == 4)%参数3为K,参数4为窗口大小

[H W] = size(window) %window参数类似ones(8)

if ((H*W) <4 | (H >M) | (W >N)) %窗口大小要求大于4或者长宽不小于图像的长宽

mssim = -Inf

ssim_map = -Inf

return

end

L = 255

if (length(K) == 2) %判断K数组的大小

if (K(1) <0 | K(2) <0)

mssim = -Inf

ssim_map = -Inf

return

end

else

mssim = -Inf

ssim_map = -Inf

return

end

end

if (nargin == 5)%当后3个参数都设置时,其中L参数执行传入的参数

[H W] = size(window)

if ((H*W) <4 | (H >M) | (W >N))

mssim = -Inf

ssim_map = -Inf

return

end

if (length(K) == 2)

if (K(1) <0 | K(2) <0)

mssim = -Inf

ssim_map = -Inf

return

end

else

mssim = -Inf

ssim_map = -Inf

return

end

end

C1 = (K(1)*L)^2 %求取论文中C1的值

C2 = (K(2)*L)^2 %求取论文中C2的值

window = window/sum(sum(window))%缺省的sum(x)就是竖向相加,求每列的和,结果是行向量

img1 = double(img1)

img2 = double(img2)

mu1 = filter2(window, img1, 'valid')%使用设定好的高斯低通滤波器window对img1进行滤波,结果保存在mu1中

%mu1相当于论文中的Ux,即图像img1的均值

mu2 = filter2(window, img2, 'valid')

%mu2相当于论文中的Uy,即图像img2的均值

mu1_sq = mu1.*mu1 %矩阵运算,相当于img1均值的矩阵乘法平方

mu2_sq = mu2.*mu2

mu1_mu2 = mu1.*mu2%img1和img2均值的矩阵乘法平方

sigma1_sq = filter2(window, img1.*img1, 'valid') - mu1_sq

sigma2_sq = filter2(window, img2.*img2, 'valid') - mu2_sq

sigma12 = filter2(window, img1.*img2, 'valid') - mu1_mu2

%sigma12相当于图像img1和img2的协方差

if (C1 >0 &C2 >0)

ssim_map = ((2*mu1_mu2 + C1).*(2*sigma12 + C2))./((mu1_sq + mu2_sq + C1).*(sigma1_sq + sigma2_sq + C2))

%当C1和C2都大于0时,直接使用公式求得SSIM的值

else

numerator1 = 2*mu1_mu2 + C1

numerator2 = 2*sigma12 + C2

denominator1 = mu1_sq + mu2_sq + C1

denominator2 = sigma1_sq + sigma2_sq + C2

%将公式中每个括号中计算得到的值保存到相应变量中

ssim_map = ones(size(mu1))

index = (denominator1.*denominator2 >0)

ssim_map(index) = (numerator1(index).*numerator2(index))./(denominator1(index).*denominator2(index))

%论文中计算SSIM中的公式

index = (denominator1 ~= 0) &(denominator2 == 0)%

ssim_map(index) = numerator1(index)./denominator1(index)

end

mssim = mean2(ssim_map)%mean2计算矩阵元素的平均数,将结果保存于mssim中

return

希望你喜欢

内存最好有2g,显卡要独显,显存最好是512以上的,处理器一般点就可以了,硬盘的话大一点最好500就够了,因为3d很烧空间的.cad的图形不怎么占空间,但是3d效果不好,大致就这么多,显示器最好用阴极射线管的,就是那种大疙瘩的,液晶的显彩能力差,不适合做图形工作

不用说自己菜不菜的,能有这个学习的精神已经很值得鼓励了

呵呵,下面,我来给你介绍几个网站常见的菜单

第一个:仿网易的滑动门导航菜单

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>仿网易的滑动门技术,用DIV+CSS技术实现</title>

<style type="text/css">

<!--

#header {

background-color: #F8F4EF

height: 200px

width: 400px

margin: 0px

padding: 0px

border: 1px solid #ECE1D5

font-family: "宋体"

font-size: 12px

}

#menu {

margin: 0px

padding: 0px

list-style-type: none

}

#menu li {

display: block

width: 100px

text-align: center

float: left

margin: 0px

padding-top: 0.2em

padding-right: 0px

padding-bottom: 0.2em

padding-left: 0px

cursor: hand

}

.sec1 { background-color: #FFFFCC}

.sec2 { background-color: #00CCFF}

.block { display: block}

.unblock { display: none}

-->

</style>

</head>

<body>

<script language=javascript>

function secBoard(n)

{

for(i=0i<menu.childNodes.lengthi++)

menu.childNodes[i].className="sec1"

menu.childNodes[n].className="sec2"

for(i=0i<main.childNodes.lengthi++)

main.childNodes[i].style.display="none"

main.childNodes[n].style.display="block"

}

</script>

<div id="header">

<ul id="menu">

<li onMouseOver="secBoard(0)" class="sec2">最新新闻</li>

<li onMouseOver="secBoard(1)" class="sec1">最新文章</li>

<li onMouseOver="secBoard(2)" class="sec1">最新日志</li>

<li onMouseOver="secBoard(3)" class="sec1">论坛新帖</li>

</ul>

<!--内容显示区域-->

<ul id="main">

<li class="block">第一个内容</li>

<li class="unblock">第二个内容</li>

<li class="unblock">第三个内容</li>

<li class="unblock">第四个内容</li>

</ul>

<!--内容显示区域-->

</div>

</body>

</html>

这里基本上是使用Css与Div的结合,在整个布局中已层为单位,实行滑动菜单的是一个javascript脚本函数,调用就可以了,看不懂不要紧,日渐积累才是重要

第二个:经典实用的触发型导航(这是鼠标单击事件控制)

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>网页特效代码|JsCode.CN|---经典实用的触发型导航菜单</title>

</head>

<body>

<STYLE type=text/css>.sec1 {

BORDER-RIGHT: gray 1px solidBORDER-TOP:

#ffffff 1px solidBORDER-LEFT: #ffffff 1px

solidCURSOR: handCOLOR: #000000BORDER-

BOTTOM: #ffffff 1px solidBACKGROUND-COLOR:

#eeeeee

}

.sec2 {

BORDER-RIGHT: gray 1px solidBORDER-TOP:

#ffffff 1px solidFONT-WEIGHT: boldBORDER-

LEFT: #ffffff 1px solidCURSOR: handCOLOR:

#000000BACKGROUND-COLOR: #d4d0c8

}

.main_tab {

BORDER-RIGHT: gray 1px solidBORDER-

LEFT: #ffffff 1px solidCOLOR: #000000BORDER-

BOTTOM: gray 1px solidBACKGROUND-COLOR: #d4d0c8

}

</STYLE>

<!--JavaScript部分-->

<SCRIPT language=javascript>

function secBoard(n)

{

for(i=0i<secTable.cells.lengthi++)

secTable.cells

[i].className="sec1"

secTable.cells[n].className="sec2"

for(i=0i<mainTable.tBodies.lengthi++)

mainTable.tBodies

[i].style.display="none"

mainTable.tBodies

[n].style.display="block"

}

</SCRIPT>

<!--HTML部分-->

<TABLE id=secTable cellSpacing=0 cellPadding=0 width=549 border=0>

<TBODY>

<TR align=middle height=20>

<TD class=sec2 onclick=secBoard(0) width="10%">关于TBODY标记</TD>

<TD class=sec1 onclick=secBoard(1) width="10%">关于cells集合</TD>

<TD class=sec1 onclick=secBoard(2) width="10%">关于tBodies集合</TD>

<TD class=sec1 onclick=secBoard(3) width="10%">关于display属性</TD></TR></TBODY></TABLE>

<TABLE class=main_tab id=mainTable height=240 cellSpacing=0 cellPadding=0 width=549 border=0><!--关于TBODY标记-->

<TBODY style="DISPLAY: block">

<TR>

<TD vAlign=top align=middle><BR><BR>

<TABLE cellSpacing=0 cellPadding=0 width=490 border=0>

<TBODY>

<TR>

<TD>指定行做为表体。

<BR>注释:TBODY要素是块要素,并且需要结束标

签。<BR> 即使如果表格没有显式定义TBODY

要素,该要素也提供给所有表。<BR><BR>

参考:《动态HTML参考和开发应用大全》(人民邮电出

版社

Microsoft Corporation著

北京华中兴业科技发展有限公司

译)

<BR><BR></TD></TR></TB

ODY></TABLE></TD></TR></T

BODY><!--关于cells集合-->

<TBODY style="DISPLAY:

none">

<TR>

<TD vAlign=top

align=middle><BR><BR>

<TABLE cellSpacing=0

cellPadding=0 width=490 border=0>

<TBODY>

<TR>

<TD>检索表行或者整个

表中所有单元格的集合。<BR>应用于TR、TABLE。

<BR><BR>参考:《动态HTML参考和开发应

用大全》(人民邮电出版社

Microsoft Corporation著

北京华中兴业科技发展有限公司

译)

<BR><BR></TD></TR></TB

ODY></TABLE></TD></TR></T

BODY><!--关于tBodies集合-->

<TBODY style="DISPLAY:

none">

<TR>

<TD vAlign=top

align=middle><BR><BR>

<TABLE cellSpacing=0

cellPadding=0 width=490 border=0>

<TBODY>

<TR>

<TD>检索表中所有TBODY

对象的集合。对象在该集合中按照HTML源顺序排列。

<BR>应用于TABLE。<BR><BR>参考:

《动态HTML参考和开发应用大全》(人民邮电出版社

Microsoft Corporation著

北京华中兴业科技发展有限公司

译)

<BR><BR></TD></TR></TB

ODY></TABLE></TD></TR></T

BODY><!--关于display属性-->

<TBODY style="DISPLAY:

none">

<TR>

<TD vAlign=top

align=middle><BR><BR>

<TABLE cellSpacing=0

cellPadding=0 width=490 border=0>

<TBODY>

<TR>

<TD>设置或者检索对象

是否被提供。<BR>可能的值为block、none、

inline、list-item、table-header-group、table-

footer-group。<BR>该特性可读写,块要素默认

值为block,内联要素默认值为inline;层叠样式表

(CSS)属性不可继承。<BR><BR>参考:《

动态HTML参考和开发应用大全》(人民邮电出版社

Microsoft Corporation著

北京华中兴业科技发展有限公司译)

<BR><BR><A

href="http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/display.asp?frame=true"target=_blank>点击此处

</A>可参阅微软<A href="http://msdn.microsoft.com/" target=_blank>MSDN在线</A>上的解释。

</TD></TR></TBODY></TABLE>

</TD></TR></TBODY></TABLE&g

t</body>

</html>

这里跟上面不同的区别在与这是鼠标移动和滑动的事件区别!

第三个:仿拍拍的切换效果菜单(里面的图片是我放上去的,所以会看不到图片的,呵呵 继续)

<!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" lang="zh-CN">

<head>

<meta http-equiv="Content-Language" content="zh-cn" />

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<meta name="robots" content="all" />

<title>网页特效|网页特效代码(JsHtml.cn)---仿拍拍paipai.com首页产品图片随机轮显切换效果</title><style>

body {font-size:12px}

img {border:0px}

#sale{right:206pxtop:0width:260pxbackground:#fff}

#saleTitle{text-align:rightpadding-top:5pxpadding-right:5pxwidth:255pxheight:20pxbackground:url("images/saleTitle.gif") no-repeat}

#saleList{margin-top:5px}

#saleList .saleTwo{height:108pxbackground:url("images/salelineH.gif") bottom repeat-x}

#saleList a{display:blockheight:108pxwidth:86pxtext-align:centerfloat:leftoverflow:hidden}

#saleList a.saleItem{background:url("images/salelineV.gif") right repeat-y}

#saleList a img{margin:5px 0}

#saleList a:hover{background-color:#EBFFC5}

</style>

<script type="text/javascript">

rnd.today=new Date()

rnd.seed=rnd.today.getTime()

function rnd(){

rnd.seed = (rnd.seed*9301+49297) % 233280

return rnd.seed/(233280.0)

}

function rand(number){

return Math.ceil(rnd()*number)-1

}

function nextSale(order){

if(order=="up") saleNum--

else saleNum++

if(saleNum>2) saleNum=0

else if(saleNum<0) saleNum=2

//alert(saleNum)

for(i=0i<3i++)

document.getElementById("saleList"+i).style.display="none"

document.getElementById("saleList"+saleNum).style.display=""

}

</script>

</head>

<body>

<div id="sale" class="absolute overflow">

<div id="saleTitle" class="absolute">

<a href="javascript:nextSale('up')" title="点击到上一屏">

<img src="images/saleFore.gif" hspace="4" onmouseover="this.src='images/saleForeOver.gif'" onmouseout="this.src='images/saleFore.gif'" /></a><a href="javascript:nextSale('down')" title="点击到下一屏"><img src="images/saleNext.gif" onmouseover="this.src='images/saleNextOver.gif'" onmouseout="this.src='images/saleNext.gif'" /></a></div>

<div class="overflow" style="height:330px" id="saleList">

<script type="text/javascript">var saleNum=rand(3)</script>

<div id="saleList0" style="display:none">

<div class="saleTwo">

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="圣诞浪漫饰品超级大促" src="/jsimages/UploadFiles_3321/200804/20080423085515804.jpg" width="65" height="65" /></div>

<div>

圣诞浪漫饰品<br />

超级大促</div>

</a>

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="摄像头集结号给你新的感觉" src="/jsimages/UploadFiles_3321/200804/20080423085516472.jpg" width="65" height="65" /></div>

<div>

摄像头集结号<br />

给你新的感觉</div>

</a><a href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="好感度提升韩版娃娃装" src="/jsimages/UploadFiles_3321/200804/20080423085516162.jpg" width="65" height="65" /></div>

<div>

好感度提升<br />

韩版娃娃装</div>

</a></div>

<div class="saleTwo">

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="复古牛仔外套特惠119元起" src="/jsimages/UploadFiles_3321/200804/20080423085516293.jpg" width="65" height="65" /></div>

<div>

复古牛仔外套<br />

特惠119元起</div>

</a>

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="圣诞拍拍特供运动服3折" src="/jsimages/UploadFiles_3321/200804/20080423085516802.jpg" width="65" height="65" /></div>

<div>

圣诞拍拍特供<br />

运动服3折</div>

</a><a href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="摄像头集结号给你新的感觉" src="/jsimages/UploadFiles_3321/200804/20080423085516472.jpg" width="65" height="65" /></div>

<div>

摄像头集结号<br />

给你新的感觉</div>

</a></div>

<div>

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="圣诞拍拍特供电脑周边4折" src="/jsimages/UploadFiles_3321/200804/20080423085516530.jpg" width="65" height="65" /></div>

<div>

圣诞拍拍特供<br />

电脑周边4折</div>

</a>

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="party扮靓甜美腮红" src="/jsimages/UploadFiles_3321/200804/20080423085516658.jpg" width="65" width="65" height="65" /></div>

<div>

party扮靓<br />

甜美腮红</div>

</a><a href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="好感度提升韩版娃娃装" src="/jsimages/UploadFiles_3321/200804/20080423085516162.jpg" width="65" height="65" /></div>

<div>

好感度提升<br />

韩版娃娃装</div>

</a></div>

</div>

<div id="saleList1" style="display:none">

<div class="saleTwo">

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="新奇好玩便宜尽在网游频道" src="/jsimages/UploadFiles_3321/200804/20080423085516612.jpg" width="65" height="65" /></div>

<div>

新奇好玩便宜<br />

尽在网游频道</div>

</a>

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="展现高贵气质骑士系马靴" src="/jsimages/UploadFiles_3321/200804/20080423085516202.jpg" width="65" height="65" /></div>

<div>

展现高贵气质<br />

骑士系马靴</div>

</a><a href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="摄像头集结号给你新的感觉" src="/jsimages/UploadFiles_3321/200804/20080423085516472.jpg" width="65" height="65" /></div>

<div>

摄像头集结号<br />

给你新的感觉</div>

</a></div>

<div class="saleTwo">

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="永不过时条纹毛衣" src="/jsimages/UploadFiles_3321/200804/20080423085516984.jpg" width="65" height="65" /></div>

<div>

永不过时<br />

条纹毛衣</div>

</a>

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="圣诞拍拍特供运动鞋2折" src="/jsimages/UploadFiles_3321/200804/20080423085516651.jpg" width="65" height="65" /></div>

<div>

圣诞拍拍特供<br />

运动鞋2折</div>

</a><a href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="好感度提升韩版娃娃装" src="/jsimages/UploadFiles_3321/200804/20080423085516162.jpg" width="65" height="65" /></div>

<div>

好感度提升<br />

韩版娃娃装</div>

</a></div>

<div>

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="精简唯美索爱K630" src="/jsimages/UploadFiles_3321/200804/20080423085516302.jpg" width="65" height="65" /></div>

<div>

精简唯美<br />

索爱K630</div>

</a>

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="原装瑞士军刀精选" src="/jsimages/UploadFiles_3321/200804/20080423085516549.jpg" width="65" width="65" height="65" /></div>

<div>

原装瑞士军刀<br />

精选</div>

</a><a href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="超薄机身索爱W880" src="/jsimages/UploadFiles_3321/200804/20080423085516711.jpg" width="65" height="65" /></div>

<div>

超薄机身<br />

索爱W880</div>

</a></div>

</div>

<div id="saleList2" style="display:none">

<div class="saleTwo">

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="各就各味秋冬饮食计划" src="/jsimages/UploadFiles_3321/200804/20080423085516704.jpg&type=3" width="65" height="65" /></div>

<div>

各就各味<br />

秋冬饮食计划</div>

</a><a href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="好感度提升韩版娃娃装" src="/jsimages/UploadFiles_3321/200804/20080423085516162.jpg" width="65" height="65" /></div>

<div>

好感度提升<br />

韩版娃娃装</div>

</a></div>

<div class="saleTwo">

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="圣诞拍拍特供随身视听5折" src="/jsimages/UploadFiles_3321/200804/20080423085516375.jpg" width="65" height="65" /></div>

<div>

圣诞拍拍特供<br />

随身视听5折</div>

</a><a href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="超薄机身索爱W880" src="/jsimages/UploadFiles_3321/200804/20080423085516711.jpg" width="65" height="65" /></div>

<div>

超薄机身<br />

索爱W880</div>

</a></div>

<div>

<a class="saleItem" href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="我爱我家家居大抢购" src="/jsimages/UploadFiles_3321/200804/20080423085516954.jpg" width="65" height="65" /></div>

<div>

我爱我家<br />

家居大抢购</div>

</a><a href="http://www.jshtml.cn" target="_blank">

<div>

<img alt="超值彩妆套装变身派对女王" src="/jsimages/UploadFiles_3321/200804/20080423085516919.jpg" width="65" width="65" height="65" /></div>

<div>

超值彩妆套装<br />

变身派对女王</div>

</a></div>

</div>

</div>

</div>

<script type="text/javascript">document.getElementById("saleList"+saleNum).style.display=""</script>

<p></p>

<p>更多网页特效代码尽在 <a href="http://www.jshtml.cn/">网页特效代码</a></p>

</body>

</html>

这个仿拍拍基本上就是2层放图片,但用起来的效果还是可以的,如果不喜欢我还有下面呢,慢慢学,总会看懂的 (最重要的还是Css哦)

这个主要就是让层实现隐藏 我觉得这个在层使用方面还是好的

从总体上看,在实现层与层之间的交互,在其代码 我觉得你有必要去认真看下 !

以上是我介绍额度菜单,虽然不是很强大,但是却很使用,而且在J2EE中

菜单基本上是一个假象,都是用层与Css之间的特效做出来的!

学会了层的具体应用,我相信你也可以有自己特色的菜单的

那我祝你好运咯!!加油!!