Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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
HTML/JQuery:一个具有永不结束的滚动背景的div?_Jquery_Html_Css_Background Image - Fatal编程技术网

HTML/JQuery:一个具有永不结束的滚动背景的div?

HTML/JQuery:一个具有永不结束的滚动背景的div?,jquery,html,css,background-image,Jquery,Html,Css,Background Image,我有一个宽400px的div元素和一个宽2000px的背景图像。 我希望这个背景图像能够无休止地横向滚动,它永远不能到达和结束,因为bg图像被设置为重复(我认为默认情况下HTML会这样做) 我曾想过这样做,但我不知道这样做是否正确: $("#divWithScrollingBackground").animate({"background-position-x" : 999999999}, 999); 要克服动画必须运行多长时间(以及运行多远)的不确定性,可以使用带有“反激重复”的单循环动画来

我有一个宽400px的div元素和一个宽2000px的背景图像。 我希望这个背景图像能够无休止地横向滚动,它永远不能到达和结束,因为bg图像被设置为重复(我认为默认情况下HTML会这样做)

我曾想过这样做,但我不知道这样做是否正确:

$("#divWithScrollingBackground").animate({"background-position-x" : 999999999}, 999);

要克服动画必须运行多长时间(以及运行多远)的不确定性,可以使用带有“反激重复”的单循环动画来实现这一点。这更像是股票代码的一般编码方式

function bgScroll() {
    $("#x").animate({
        'backgroundPosition': '-2000px 0'
    }, 4000, 'linear', function() {
        $(this).css("backgroundPosition", '0 0');
        setTimeout(bgScroll, 0);
    });
};
bgScroll();
您需要使用以使bg动画跨浏览器工作

演示

调整my
4000
毫秒以获得所需的速度(较小的数值=更快的动画)


“线性”对于在回扫时提供尽可能平滑的过渡非常重要。我认为jQuery默认的“摇摆”宽松政策会产生奇怪的效果,但一定要尝试一下。

我要提醒大家不要这样做。对于访问者来说,这似乎是一场可用性噩梦。他们可能会认为有问题,因为滚动从未停止。你在说什么???它的工作原理像一个大屏幕,但你不能做背景图像的字幕。当你看到一个大帐篷时,你觉得有什么不对劲吗?好的,我现在明白了。嗯,大帐篷和我读你的描述时的想法不同。但仍然不确定这是您想要使用的方法。