2

这是我必须做的确切事情:

适当的 JavaScript 和 html,以便当用户将鼠标移到特价房的一种特定类型的缩略图上时,会显示与其相关的全尺寸(较大)图像(请注意,较大图像的显示应该不会导致其他页面元素移动)。当用户将鼠标从缩略图上移开时,较大的图像应该会消失。

这是我的网站

我只是希望能够将鼠标悬停在这些图像上并让它们出现在页面上方,而不改变页面现在的外观。

这是我目前的 javascript 部分;

div = {
    show: function(elem) {
        document.getElementById(elem).style.visibility = 'visible';
    },
    hide: function(elem) {
        document.getElementById(elem).style.visibility = 'hidden';
    }
}

但我不确定这是正确的还是现在我想要的,

然后这是html;

<a href="images/garden2.jpg" class="preview"><img src="images/garden2.jpg" width="201"       height="143" alt="Garden Room" onMouseOver="div.show('div1')" onMouseOut="div.hide('div1')"/></a>
        <div id="div1"><img src="images/garden2.jpg" alt="Garden Room" /></div>

但这会在图像下方创建一个 div 并更改我的元素,这不是我想要发生的。

4

2 回答 2

0

我会使用这样的更简单的代码:

HTML:

<a href="http://www.numyspace.co.uk/~unn_w12001251/images/fellside22.jpg">
<img width="100" src="http://www.numyspace.co.uk/~unn_w12001251/images/fellside22.jpg" />
<img class="fullsize" src="http://www.numyspace.co.uk/~unn_w12001251/images/fellside22.jpg" />
</a>

<a href="http://www.numyspace.co.uk/~unn_w12001251/images/garden2.jpg">
<img width="100" src="http://www.numyspace.co.uk/~unn_w12001251/images/garden2.jpg" />
<img class="fullsize" src="http://www.numyspace.co.uk/~unn_w12001251/images/garden2.jpg" />
</a>

CSS:

a {
    position: relative;
    display: inline-block;
}

a .fullsize {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    z-index: 1;
}

a:hover .fullsize {
    display: inline;
}

JS:-无-

小提琴: http: //jsfiddle.net/84anu/ 预览http://jsfiddle.net/84anu/show/

于 2013-04-21T23:32:37.973 回答
0

如果您希望某个元素出现在其他元素之上,则需要定位该元素 - 在您的情况下,最好的方法是设置所有容器元素 - 意思是包含原始显示图像和隐藏图像的元素 - 在样式位置相对 - 和隐藏图像设置绝对位置,当您将鼠标悬停在原始图像上时,只需将隐藏图像显示为您的编码:

我做了一个简单的jsfiddle让你理解

html:

<div class="container">
    <a href="http://www.numyspace.co.uk/~unn_w12001251/images/fellside22.jpg"><img src="http://www.numyspace.co.uk/~unn_w12001251/images/fellside22.jpg" onMouseOver="div.show('div1')" onMouseOut="div.hide('div1')" /></a>
    <div id="div1" class="hid-img"><img src="http://www.numyspace.co.uk/~unn_w12001251/images/fellside22.jpg" /></div>
<div>

<div class="container">
    <a href="http://www.numyspace.co.uk/~unn_w12001251/images/garden2.jpg"><img src="http://www.numyspace.co.uk/~unn_w12001251/images/garden2.jpg" onMouseOver="div.show('div2')" onMouseOut="div.hide('div2')" /></a>
    <div id="div2" class="hid-img"><img src="http://www.numyspace.co.uk/~unn_w12001251/images/garden2.jpg" /></div>
<div>    

CSS:

.container{
    position: relative;
}

.container .hid-img{
    position: absolute;
    display:none;
    z-index:1;
}

js:

var div = {
    show: function(elem) {
        document.getElementById(elem).style.display = 'block';
    },
    hide: function(elem) {
        document.getElementById(elem).style.display = 'none';
    }
}

编辑: 只需将宽度、高度添加到 img 标签http://jsfiddle.net/MKPgv/2/

于 2013-04-21T22:53:58.847 回答