Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 循环图像ie7问题_Javascript_Jquery_Html_Css_Animation - Fatal编程技术网

Javascript 循环图像ie7问题

Javascript 循环图像ie7问题,javascript,jquery,html,css,animation,Javascript,Jquery,Html,Css,Animation,我正在尝试使用javascript和jquery在div中创建一个无限滚动的图像。我使用的代码可以在小提琴上看到 这在当前浏览器中有效,但在IE7中失败。我的猜测是,它与指定负css值有关,但我还没有找到解决方案。有人知道如何在ie7的chrome中看到这种行为吗 谢谢你的帮助 编辑: 如果我垂直向下滚动图像,我会得到跨浏览器工作的效果。可见 编辑2: 我已经让它水平运行,但只是向右移动。它似乎不喜欢负方向值。可以看到。我认为IE7只支持“left”属性的整数值 将您的功能更改为: $(func

我正在尝试使用javascript和jquery在div中创建一个无限滚动的图像。我使用的代码可以在小提琴上看到

这在当前浏览器中有效,但在IE7中失败。我的猜测是,它与指定负css值有关,但我还没有找到解决方案。有人知道如何在ie7的chrome中看到这种行为吗

谢谢你的帮助

编辑: 如果我垂直向下滚动图像,我会得到跨浏览器工作的效果。可见

编辑2:
我已经让它水平运行,但只是向右移动。它似乎不喜欢负方向值。可以看到。

我认为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和更高的超时!你是冠军。谢谢如果有人感兴趣,可以用尼古拉的解决方案来摆弄小提琴