2013-09-26 105 views
1

我有代码,当你翻转图像,它放大旁边的它,但是当我添加另一个图像,它放大在同一个地方,我如何使它,使每个图像放大旁边的小原来的一个?这是代码;HTML悬停图片代码

<div id="imgmenu"> 
<div class="p1" title="Karla"><img src="small image" title="Thumbnail image" alt="Thumbnail image"/><img class="large" src="large image" title="enlarged view of image" alt="enlarged view of image" /></div></div> 
<style type="text/css"> 
<#imgmenu {position:relative; top:10px; left:10px; width:75px; background-color:#fff; z-index:100;} 
#imgmenu .p1 {display:block; width:150px; height:150px; text-decoration:none; background:#fff; top:0; left:0; border:0;} 
#imgmenu .p1:hover {text-decoration:none; background-color:#8c97a3; color:#000;} 
#imgmenu .large {display:block; position:absolute; width:0; height:0; border:0; top:0; left:0;} 
#imgmenu .p1:hover .large {display:block; position:absolute; top:-0px; left:150px; width:400px; height:300px; border:2px solid #ccc;} 
#info {z-index:100; height:22em;} 
</style> 


<div id="imgmenu"> 
<div class="p1" title="Beanie"><img src="small image" title="Thumbnail image" alt="Thumbnail image"/><img class="large" src="large image" title="enlarged view of image" alt="enlarged view of image" /></div></div> 
<style type="text/css"> 
<#imgmenu {position:relative; top:10px; left:10px; width:75px; background-color:#fff; z-index:100;} 
#imgmenu .p1 {display:block; width:150px; height:150px; text-decoration:none; background:#fff; top:0; left:0; border:0;} 
#imgmenu .p1:hover {text-decoration:none; background-color:#8c97a3; color:#000;} 
#imgmenu .large {display:block; position:absolute; width:0; height:0; border:0; top:0; left:0;} 
#imgmenu .p1:hover .large {display:block; position:absolute; top:-0px; left:150px; width:400px; height:300px; border:2px solid #ccc;} 
#info {z-index:100; height:22em;} 
    </style> 

回答

1

你的代码有几个错误。当你为HTML中的元素定义一个id时,它必须是唯一的:在这里,你使用两个元素的<div id="imgmenu">。而是使用类。另外,不需要两次定义CSS样式。这里有一个jsFiddle,我固定的一些东西,这里的HTML:

<div class="imgmenu"> 
<div class="p1" title="Karla"> 
    <img src="http://placekitten.com/100/100" /> 
    <img class="large" src="http://placekitten.com/200/200" /> 
</div> 
</div> 

<div class="imgmenu"> 
<div class="p1" title="Beanie"> 
    <img src="http://placekitten.com/100/100" /> 
    <img class="large" src="http://placekitten.com/200/200" /> 
</div> 
</div> 

而这里的CSS:

.imgmenu { 
    position:relative; 
    top:10px; 
    left:10px; 
    width:75px; 
    background-color:#fff; 
    z-index:100;} 

.imgmenu .p1 { 
    width:150px; 
    height:150px; 
    background:#fff;} 

.imgmenu .p1:hover { 
    background-color:#8c97a3; 
    color:#000;} 

.imgmenu .large { 
    position:absolute; width:0; height:0; border:0; top:0; left:0;} 

.imgmenu .p1:hover .large { 
    position:absolute; 
    left:150px; 
    width:400px; 
    height:300px; 
    border:2px solid #ccc;} 
+0

BTW,我更新,我删除不亚于多余的代码作为的jsfiddle可能的:http://jsfiddle.net/Lw8Kf/5/ – frenchie