悬停时setInterval中的图像闪烁
Image flickering in setInterval on hover
这是一个图像滑块。当我将鼠标悬停在滑块上时,一切正常,播放/暂停按钮出现。当我将鼠标悬停在滑块显示区域之外时,播放和暂停按钮将消失。但是,当我将鼠标悬停在播放/暂停图像本身的区域上时,播放/暂停的图像会闪烁。
有没有办法停止闪烁?
当您将鼠标悬停在滑块上时,将显示播放和暂停图像。单击播放时,它将变为暂停,反之亦然。播放和暂停自动打开和关闭
代码段:
HTML
<section>
<img src="img/arrow-left.png" alt="Previous" id="prev">
<div id="outsideSlider">
<img alt="play" src="img/play.png" id="play">
<img alt="pause" src="img/pause.png" id="pause">
<div id="slider">
<div class="slide">
<div class="sliderText">
<h2>Hark! Stay alert</h2>
<p>Some text</p>
</div>
<img src="img/slide1.jpg" alt="Slide 1">
</div>
</div>
</section>
jQuery
setInterval(function(){
playpause();
},1);
//function to switch between play button and pause button on click
function playpause(){
if($('#pause').hasClass('activeButton'))
{
$('#slider,#play,#pause').click(function(){
$('#pause').removeClass('activeButton');
$('#play').addClass('activeButton');
$('#pause').hide();
$('#play').show();
autoswitch=false;
});
}
//When play is clicked, activate pause button
else if($('#play').hasClass('activeButton'))
{
$('#slider,#play,#pause').click(function(){
$('#play').removeClass('activeButton');
$('#pause').addClass('activeButton');
$('#play').hide();
$('#pause').show();
autoswitch=true;
});
}
}
我找到了答案。
问题不在我上面发布的代码中。它在这个功能中:
function showhide()
{
$('.slide,#play,#pause').mouseenter(function(){
tt=setInterval(function(){
$('.activeButton').show();
},1);
}).mouseleave(function(){
clearInterval(tt);
$('.activeButton').hide();
});
}
我把.show()函数移到了setInterval之外,瞧!无闪烁
相关文章:
- 如何使用按键避免图像闪烁
- 使用setInterval()函数进行图像闪烁
- addClass,它更改bg图像,但在第一次加载时没有闪烁
- 悬停时setInterval中的图像闪烁
- 按下按钮时图像持续闪烁
- jQuery图像在悬停时闪烁
- 当使用MouseEvent将图像更改为其他图像时,如何避免闪烁
- 正在创建随机图像闪烁
- iOS 8中滚动时的背景图像闪烁问题
- Javascript-使图像出现,然后将其替换为另一个图像(闪烁)
- 如何在渲染Backbone视图时防止图像闪烁
- 无法使图像闪烁(得到)预期的错误
- 鼠标经过时图像闪烁
- Skrollr图像闪烁.Firefox预加载问题
- 防止在src更改时出现大图像闪烁
- 如何在Javascript中使图像闪烁和重叠
- 图像闪烁然后消失
- 图像闪烁ajax轮询
- 使用图像映射时,鼠标悬停上的图像闪烁javascript
- 从本地主机加载时图像闪烁