Javascript 循环图像ie7问题
我正在尝试使用javascript和jquery在div中创建一个无限滚动的图像。我使用的代码可以在小提琴上看到 这在当前浏览器中有效,但在IE7中失败。我的猜测是,它与指定负css值有关,但我还没有找到解决方案。有人知道如何在ie7的chrome中看到这种行为吗 谢谢你的帮助 编辑: 如果我垂直向下滚动图像,我会得到跨浏览器工作的效果。可见 编辑2:Javascript 循环图像ie7问题,javascript,jquery,html,css,animation,Javascript,Jquery,Html,Css,Animation,我正在尝试使用javascript和jquery在div中创建一个无限滚动的图像。我使用的代码可以在小提琴上看到 这在当前浏览器中有效,但在IE7中失败。我的猜测是,它与指定负css值有关,但我还没有找到解决方案。有人知道如何在ie7的chrome中看到这种行为吗 谢谢你的帮助 编辑: 如果我垂直向下滚动图像,我会得到跨浏览器工作的效果。可见 编辑2: 我已经让它水平运行,但只是向右移动。它似乎不喜欢负方向值。可以看到。我认为IE7只支持“left”属性的整数值 将您的功能更改为: $(func
我已经让它水平运行,但只是向右移动。它似乎不喜欢负方向值。可以看到。我认为IE7只支持“left”属性的整数值 将您的功能更改为:
$(function(){
reelDivs($('.reel div'), 'left', 500, -500, -1, 30);
});
将您的CSS更改为此并尝试:
.reel
{
position: relative;
top: 50px;
left: 50px;
width: 250px;
height: 500px;
overflow: hidden;
}
.reel div
{
position: absolute;
left: 0px;
height: 362px;
width: 500px;
background: url("http://www.deviantart.com/download/258376230/husky_puppy_by_blackdelive-d49twdi.png") no-repeat 0px top;
}
.reel div.b
{
left: 500px;
}
jsFiddle:
天哪,速度 在卷轴div上放置一个ID,而不是使用
$('.reel div')
使用该ID。我很确定IE7不支持getElementsByClassName
当您使用
$('.reel div')
时,您告诉jQuery使用GetElementsByCassName。如何将图像移动0.1像素,考虑到像素是监视器可以渲染的最小尺寸
就我所知,IE7将不支持浮点测量(或者至少不支持像素,没有测试过其他单元)。控制台记录返回的CSS左位置,您将看到IE7没有返回浮点数
使用1像素移动并降低重画速率,使其在IE7中工作。或者更好地利用像素移动与速率来获得所需的结果。像素移动越高越好
在访问者机器上重画图像可能会很昂贵。即使您专门为游戏社区(他们通常拥有快速、高端的系统)创建一些东西,我也不建议将其作为绝对要求。你的图像滚动器本身就可能严重滞后于某些系统
另外,别忘了大多数显示器的刷新率不会低于5毫秒。因此,期望它比那更快地重新绘制是毫无意义的你试过调试吗?我现在正在处理这个问题,如果我遇到任何新的信息,我肯定会更新这个问题。这个小提琴在ie7中似乎不起作用。谢谢你!这就是他使用jQuery的原因。与IE7无关,这个选择器可以工作。嗯,我不知道jQuery在幕后是如何工作的。如果它像你说的那样,那么我的想法对性能来说仍然是很好的。jQuery在幕后处理所有浏览器兼容性。这可能是它最大的优势之一!不过从性能上看,是的,ID的获取速度总是快得多。Rep+感谢您提供的信息。有时候我忘了jQuery是多么高效。如果它不是Java的样子,没有性能,但是有很好的可用性。它不是你想象中的负数,而是浮点数而不是整数!你让它工作,因为你用1而不是0.1和更高的超时!你是冠军。谢谢如果有人感兴趣,可以用尼古拉的解决方案来摆弄小提琴