Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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中的循环进度指示器_Javascript_Jquery_Css - Fatal编程技术网

Javascript中的循环进度指示器

Javascript中的循环进度指示器,javascript,jquery,css,Javascript,Jquery,Css,我有一个简单的旋转木马来显示一些图像。正如您所期望的那样,旋转木马自动每x秒旋转一次 我目前有一个div,我在x秒内设置宽度动画以显示进度。这允许用户看到他们需要等待多长时间才能显示下一幅图像。当用户将鼠标悬停在图像上时,进度条会收缩。当他们鼠标移出时,它又开始填满 然而,我想尝试使用一个圆圈,而不是使用一个无聊的酒吧。就像ajax加载时看到的旋转圆圈。我不知道怎么做 有人能帮忙吗?甚至有可能吗?生成一系列表示您希望表示的不同程度的图像,使区别尽可能细化。您可以制作四张图像,分别表示0%、25%

我有一个简单的旋转木马来显示一些图像。正如您所期望的那样,旋转木马自动每x秒旋转一次

我目前有一个div,我在x秒内设置宽度动画以显示进度。这允许用户看到他们需要等待多长时间才能显示下一幅图像。当用户将鼠标悬停在图像上时,进度条会收缩。当他们鼠标移出时,它又开始填满

然而,我想尝试使用一个圆圈,而不是使用一个无聊的酒吧。就像ajax加载时看到的旋转圆圈。我不知道怎么做


有人能帮忙吗?甚至有可能吗?

生成一系列表示您希望表示的不同程度的图像,使区别尽可能细化。您可以制作四张图像,分别表示0%、25%、75%和100%的“进度”,或者制作一百张图像,分别表示每1%的差异

在JavaScript中,您不需要更改条形图的宽度,而是可以在适当的图像中交换当前的进度<代码>如果(进度<25)图像='0percent.png'(等等)

在一些支持HTML5的现代浏览器上,不使用图像就可以做到这一点,但在其他任何地方都是完全不切实际的


请注意,这与标准的“加载”图形大不相同。这些微调器根本不代表进度,因为它们只是重复地旋转,直到文档加载为止。因此,微调器被制作成动画GIF,因此单个图像可以简单地放在页面上,愉快地旋转,直到被删除。

您可以使用SVG或画布

还有一种方法可以做到(比如?

为了避免进度指示器的每一步都有n个GIF/PNG的混乱,创建所有步骤的单个精灵,并将它们水平或垂直堆叠起来(例如,如果您的进度指示器为40x40,并且您希望显示8个步骤,请创建一个320x40图像,并通过从左到右背靠背增加值来放置它们)

创建一个新元素,其尺寸固定为单个步长(示例中为40x40),并将此精灵作为其背景图像

然后,当您从计时器(或
setTimeout/Interval
)接收到滴答声时,将背景图像的
position-x
属性移动一个大小(0、40、80、120等)


这比每个步骤都有一个单独的图像要快得多,最终用户会在第一个事件中立即预加载整个精灵。

你启发我制作一个手动控制的进度指示器。我制作了一个。然后我开始tweeking,并决定将其变成一个插件。该插件包括一个计时器以及一些其他选项。看看,也许这对你有用?

我会把它们放在一个正方形里,而不是水平/垂直…需要更多的数学运算才能工作,但使用模数运算符很容易。为什么你说?!我不知道..更容易在photoshop中查看。听到听到听到!+1用于精灵和编程精灵切换。我最终使用了setInterval到u更新背景图像。非常感谢!理论上很好,但是我有一台相当不错的机器(四核,4GB内存)尝试在polar clock页面上使用Chrome开发工具让我的电脑几乎死掉了!也许在未来几年SVG会变得更可行?这不是Chrome开发工具的问题吗?还是什么?它在我的firefox中运行良好(使用双核cpu,甚至不使用100%的内核).RaphaelJS兼容所有浏览器,甚至IE6+。很酷的演示。这是一个很好的方法!虽然我需要一个坚固的甜甜圈形状加载器,所以多个图像不会工作,但这是一个非常好的方法!