作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当通过 jQuery 的 .show()
交换对象时,Chrome 似乎会短暂地显示一个闪光灯(间歇地,但通常)。
代码:
var $catGo = $('#cat_animate');
var $catStop = $('#cat_still');
$('#wrapper').on('click', '#cat_still', function() {
setTimeout(function() {
$catGo.attr('src', 'http://i.imgur.com/kPUYc5y.gif');
}, 0);
$catGo.show();
$catStop.hide();
setTimeout(function() {
$catGo.hide();
$catStop.show();
setTimeout(function() {
$catGo.attr('src', '');
}, 0);
}, 11400);
});
在 Chrome 中点击这只猫,注意它如何将静止图像换成动画图像,当它切换到动画图像时经常会出现短暂的闪光。这在 Firefox 或我尝试过的任何其他浏览器中从未发生过。有没有办法以编程方式消除它?试试你的手!
最佳答案
更新:
所以firefox好像缓存图片不错,直接去那个图片刷新一下就可以了。不过,下面的代码似乎适用于 Firefox 和 Chrome。
var $catGo = $('#cat');
$('#wrapper').on('click', '#cat', function() {
setTimeout(function() {
$catGo.attr('src', 'http://i.imgur.com/kPUYc5y.gif');
}, 0);
setTimeout(function() {
$catGo.attr('src', 'http://i.imgur.com/64a9Ofb.jpg');
}, 11400);
});
这个更新的 Fiddle 还通过将 setTimeout 分配给一个变量并在点击时清除它来协助多次点击图像,因此多次点击不会执行多个 src 更改。
希望这对您有所帮助。
关于javascript - 使用 jQuery.show() 交换元素时,消除 Chrome 中的短暂闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21809482/
我有一个测验应用程序,用户可以在其中使用单选按钮回答一些问题。只有一个答案是正确的。 当我单击我的按钮以显示正确答案时,它会显示在 textView 中。 到目前为止,我还有另一个按钮可以导航到下一个
当使用 IoC 容器时,我可以指定当需要给定的依赖项时,要么每次传入一个新对象,要么传入的对象始终是同一个实例。 我曾认为内部和外部模块分别提供了该功能,但现在我不太确定。此外,我发现在使用“内部”模
我是一名优秀的程序员,十分优秀!