javascript - 使用淡入淡出更改 onMouseOver 上的图像源

标签 javascript jquery css html

我想在 HTML5 map 上使用 onMouseOver 元素在西装的所有部分上可视化模型。

我做了这个:
HTML

<map name="wizualizacja">
<area shape="poly" coords="119,800,114,758,111,737,111,736,106,719,102,706,98,689,95,670,92,657,91,639,93,637,93,636,96,636,98,636,100,636,101,636,103,636,104,636,106,635,106,635,107,634,107,635,108,635,109,636,111,637,113,637,114,637,116,637,117,637,119,637,120,637,122,637,124,637,126,637,128,638,130,638,133,638,136,638,140,638,142,638,144,637,145,635,147,634,148,631,149,630,151,618,153,609,153,601,154,599,156,605,159,609,160,611,161,613,162,614,164,616,168,619,173,621,177,622,181,623,185,623,187,623,188,623,188,634,267,634,267,620,285,620,285,642,285,643,285,644,286,644,286,646,285,667,284,675,283,691,283,698,282,701,282,705,282,707,282,720,282,727,282,730,282,733,283,739,283,742,283,743,282,753,282,756,282,758,283,760,284,766,285,769,285,771,285,774,285,776,286,778,286,779,286,781,286,787,287,789,287,792,288,794,288,796,288,798,288,800" alt="spodnie" title="spodnie" onMouseOver="changeImage()" onMouseOut="original()"/>
</map>

JS

normalny = new Image(384,800)
normalny.src = "http://tive.pl/model.png"

spodnie = new Image(384,800)
spodnie.src = "http://tive.pl/spodnie.png"

function changeImage(){
document.wiz.src = spodnie.src;return true;
}

function original(){
document.wiz.src = normalny.src;return true;
} 

https://jsfiddle.net/kab58u8d/1/

这现在只对腿元素起作用(尝试将鼠标悬停在腿上,您会看到它们正在改变红色的颜色 - 它正在将所有图像更改为新图像)。这很好用,但现在我需要一个淡入淡出的动画(有点像 http://jsfiddle.net/NxJf8/,但在鼠标悬停和鼠标移出时返回到原始源)从正常图像到这张有红腿的图像,但我不知道如何用这个来做改变图像的来源。我正在考虑在已经可见的元素上创建一个图像类并为其设置不透明度 0 并在我将鼠标悬停在第一个元素上时淡入淡出,但也许您知道更好的方法?

最佳答案

我想这就是您要找的东西,它有两张图片。它在悬停时隐藏一个显示另一个。顺便说一句,我是从https://stackoverflow.com/a/10039286/7252292得到的

$('#area').hover(function() {
    $('img').fadeToggle();
});
#model {
   position: absolute;
   top: 0; 
   left: 0;
}

#spodnie {
   position: absolute;
   top: 0; 
   left: 0;
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="model" name="wiz" src="http://tive.pl/model.png" usemap="#wizualizacja"/>

<img id="spodnie" name="wiz" src="http://tive.pl/spodnie.png" usemap="#wizualizacja"/>



<map name="wizualizacja">

<area shape="poly" coords="119,800,114,758,111,737,111,736,106,719,102,706,98,689,95,670,92,657,91,639,93,637,93,636,96,636,98,636,100,636,101,636,103,636,104,636,106,635,106,635,107,634,107,635,108,635,109,636,111,637,113,637,114,637,116,637,117,637,119,637,120,637,122,637,124,637,126,637,128,638,130,638,133,638,136,638,140,638,142,638,144,637,145,635,147,634,148,631,149,630,151,618,153,609,153,601,154,599,156,605,159,609,160,611,161,613,162,614,164,616,168,619,173,621,177,622,181,623,185,623,187,623,188,623,188,634,267,634,267,620,285,620,285,642,285,643,285,644,286,644,286,646,285,667,284,675,283,691,283,698,282,701,282,705,282,707,282,720,282,727,282,730,282,733,283,739,283,742,283,743,282,753,282,756,282,758,283,760,284,766,285,769,285,771,285,774,285,776,286,778,286,779,286,781,286,787,287,789,287,792,288,794,288,796,288,798,288,800" alt="spodnie" title="spodnie" id="area"/>


</map>

关于javascript - 使用淡入淡出更改 onMouseOver 上的图像源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42057036/

相关文章:

javascript - 第二次单击时删除附加数据

html - 两列 flex 布局,内容向中间对齐

html - 如何将导航栏移动到水平居中?

html - 表 :tr and gradient not working

javascript - 在 Vue.Filter 中使用 Vue.Mixin 不起作用

javascript - 有没有办法在 ajax POST 请求中发送对象和单独的变量

javascript - 在 JavaScript 中进行原型(prototype)设计以向 Bootstrap 日期选择器添加新方法

javascript - 相同的计算函数,不同的结果取决于 .load() 和 .resize() 或 .scroll()

javascript - jQuery find - 我可以使用回调吗?

javascript - 为什么我的 JSON 获取查询返回未定义的值?