- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
早上好,
我想在我的网站上插入 jQuery fadeIn()
和 fadeOut()
。理论上,我的代码可以工作,但有一些我不喜欢的地方。将鼠标移到imagemap
的映射区域上即可触发fadeIn()
。隐藏的 div
淡入,覆盖图像图。当离开映射区域时,覆盖的 div 会淡出。
发生的情况是,de fadeIn()
仅在鼠标停留在映射区域上时启动,而不是悬停在其上。因此,为了触发该效果,鼠标需要进入映射区域并完全静止。
我想要的是,一旦鼠标进入映射区域,de fadeIn()
就会启动,无论它在那里停留多久。
这是我的代码摘录
//JAVASCRIPT
//PRELOAD THE SOURCEIMAGE
original = new Image(655, 338);
original.src = "imagenes_png/bosque_mapa.png";
//PRELOAD THE IMAGES FOR MOUSEOVER
azulH = new Image(655, 338)
azulH.src = "imagenes_png/azul_mouse_h.png";
verdeH = new Image(655, 338)
verdeH.src = "imagenes_png/verde_mouse_h.png";
//LOAD THE DOM BEFORE JS FILLS IT WITH IMG (HIGHLIGHT)
$(document).ready(function() {
document.getElementById("verdeH").appendChild(verdeH);
document.getElementById("azulH").appendChild(azulH);
});
//JQUERY
//jQUERY FADEIN
$(document).ready(function() {
$(function() {
$("#verdeA").mouseenter(function() {
$("#verdeH").stop().fadeIn("fast");
});
$("#verdeA").mouseleave(function() {
$("#verdeH").stop().fadeOut("fast");
});
$("#azulA").mouseenter(function() {
$("#azulH").stop().fadeIn("fast");
});
$("#azulA").mouseleave(function() {
$("#azulH").stop().fadeOut("fast");
});
});
});
有什么想法可以实现这一点吗?如果需要HTML代码,我可以提供!
这里是 HTML
<!-- LOAD OVER(!) THE IMAGEMAP WITH DIV FOR POSITIONING-->
<div style="position:relative" width="655" height="338">
<!-- HIDDEN PRELOADED IMAGES FOR HIGHLIGHT-->
<div id="azulH" style="display:none; position:absolute" width="655" height="338"></div>
<div id="verdeH" style="display:none; position:absolute" width="655" height="338"></div>
<!-- INSERT THE PICTURE -->
<img name="bosque" id="bosque" src="imagenes_png/bosque_mapa.png" width="655" height="338" border="0" usemap="#bosque_m" alt="Bosque con animales" />
<!-- CREATE THE MAP -->
<map name="bosque_m" id="bosque_m">
<area shape="poly" coords="605,304,608,301,613,300,617,302,618,308,617,313,618,315,620,317,624,318,628,318,631,318,634,320,635,326,634,331,629,334,626,337,625,339,602,338,602,334,604,330,608,326,609,320,608,315,606,311,604,308,605,304"
id="verdeA" alt="¡Un animal ocultado!" />
<area shape="poly" coords="442,233,447,233,451,235,454,238,456,242,457,246,463,247,468,249,472,251,474,254,470,255,465,253,460,252,456,252,454,253,450,253,445,251,441,247,439,244,439,239,442,233"
id="azulA" alt="¡Un animal ocultado!" />
</map>
</div>
一个东西的 fiddle http://jsfiddle.net/n96070kd/
最佳答案
您应该研究 jQuery 的 mouseover()
函数。仅当用户将鼠标悬停在特定区域上时才会生效。只要用户将鼠标悬停在某个区域上,它就会立即运行,无论光标速度等如何。
$(document).on('mouseover', '#azulA, #verdeA', function(){
console.log('I am hovering');
$('#hover-status').css('background-color', 'green');
}).on('mouseout', function(){
console.log('I am no longer hovering');
$('#hover-status').css('background-color', 'red');
});
你的多边形区域非常小,这也没有真正帮助,但我仍然设法让它工作。我确信您知道该区域在哪里(右下),因为它是您的对象。
See this fiddle as an example当您将鼠标悬停在某个区域上时,该框将变为绿色,而当未悬停时该框将变为红色。
因为我相信您正在寻找闪烁问题的解决方案...看看这段代码,这将有助于解决这个问题。您可以根据需要进行调整:
$('#azulA').hover(function(){
$('#azulH').animate({opacity: 1}, 1000);
$('#bosque').css('opacity', '0');
$('#hover-status').css('background-color', 'green');
}, function(){
$('#azulH').animate({opacity: 0}, 1000);
$('#bosque').css('opacity', '1');
$('#hover-status').css('background-color', 'red');
});
$('#verdeA').hover( function(){
$('#verdeH').animate({opacity: 1}, 1000);
$('#bosque').css('opacity', '0');
$('#hover-status').css('background-color', 'green');
}, function(){
$('#verdeH').animate({opacity: 0}, 1000);
$('#bosque').css('opacity', '1');
$('#hover-status').css('background-color', 'red');
});
关于javascript - jQuery fadeIn() 和 fadeOut() 无延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26783147/
我正在努力编写我的第一个 jQuery 脚本。我的页面上有一个 DIV,该 DIV 设置为通过 CSS 隐藏。然后,我运行这个脚本以使其淡入、淡出,然后再次淡入: (function($) {
我刚刚学习了一些 jQUery,以便在我为酒店创建的网站上建立一个基本的图片库,但目前还没有计划。我明白了,所以箭头会在图像中循环(还没有动画),但我决定箭头应该在图像悬停时淡入,而不是淡出,但这不知
我有一个具有不同模块的交互式表单系统,其中每个模块的表单包含在不同的 div 元素内。当我从一个模块更改为另一个模块时,我经常这样做: $('#module_1').hide(); $('#modul
我想在滚动页面时淡入我的标题。这是我到目前为止所得到的,除了 .fadeIn() 之外一切正常。 $(document).scroll(function() { if( $(this).scr
我有一个 jquery 错误,我已经找了好几个小时了,我不知道出了什么问题......我有这段代码: $(document).ready(function(){ $('#ulPhotos a
我试图搜索并查看是否在此下方列出了任何内容,但我什么也没看到。我有一个使用 Isotope 布局的图库,它工作正常,但是在页面加载时,图库中的图像显示在页面中间,然后一旦加载就跳转到各自的位置。 我试
如果我执行更改表格尺寸的 fadeIn(),Firefox 会剪切新显示行的背景。 如果我在远离标签的地方单击焦点,然后单击返回,背景将恢复。 Chrome 中没有裁剪问题。我在 Firefox 26
现在,当我淡入叠加层 div 时,它会自动设置为 display: block;。但我希望它是 display: table。有没有像 fadein() 这样的 jQuery 函数可以做到这一点? j
我有这个函数,非常适合延迟加载。 panel.find('img[data-src]').each(function(){ element = $(this);
有人可以告诉我我做错了什么吗: 风格: .warning{border: 1px solid #F0AAAA; background:#FFBABA; color: #C90000;} 标记: A
当我单击切换按钮时,它会将元素的样式属性从“不显示”更改为“阻止”。现在,当发生这种情况时,我想为菜单的左侧位置设置动画。我有这样的代码,但工作有问题,而且,当它应该返回到右侧时,它出现在左侧.. v
我有这段代码,可以在一定的延迟后切换图像的不透明度: $(".pattern-overlay").css("background","black").delay(2000).queue(functio
我对 jQuery 很陌生,所以请耐心等待。 我想逐步淡入列表。但我的功能出了什么问题。请问有人可以帮助我吗? 非常感谢! 编辑:我检查了所有内容,没有发现任何错误。主体具有所需的类。 $(".sid
我希望有人能帮助我。我遇到以下问题: http://jsfiddle.net/zhPAF/ 标记: About Us
这是我的代码..我想要应用淡入淡出,我按照下面的方式做了,但淡入淡出没有应用 $(document).ready(function(){ var i = 1; $
我使用 jquery 加载和淡入目标 div 中的内容。这很好用,我喜欢它看起来很整洁。但是,如果您单击链接多次(快速)淡入内容,则内容似乎不会完全不透明。因此,如果我按链接两次(再次非常快),它只能
非常简单的 jQuery 元素作为实践。我已经设置了一个按钮(#btn),我想看看当我单击该按钮时是否可以淡入 Div。我设置了一个 Fiddle,代码本身有什么问题吗? 链接到JsFiddle .
我正在开发一个网站,我希望每次打开网页时都会淡入文本,所以我做了这样的事情: $(document).ready(function() { $('#title').fadeIn(100); }
请有人让我摆脱痛苦......我已经投入了一个又一个小时...... 我已经(这是缩写)创建了一个函数,该函数使用 append 将框添加到页面。问题是一旦添加了它们,淡入功能就不起作用了。 但是,如
与我在这里看到的其他帖子不同,我使用 jQuery fadeIn 来处理可变文本而不是图像。我看到它逐渐褪色,最后一个脉冲变成全彩。我希望它能逐渐淡出。我已将其发布在 jsFiddle 上:http:
我是一名优秀的程序员,十分优秀!