javascript - setLineDash() 不适用于 jQuery Scrollpath 插件

标签 javascript jquery canvas html5-canvas

使用 HTML Canvas 路径,我正在尝试实现 jQuery Scrollpath plugin来自 Joel Besada - 进展顺利,直到我尝试将路径变成虚线。

我在网上找到了 setLineDash() 的文档,看起来您只需在调用 Stroke() 之前将其与其他 2D 上下文线条样式一起添加,因此我更改了 jquery.scrollpath.js 文件中的该部分并添加了该内容与我所有其他线条样式自定义一起使用,但没有运气。

我在这里与 Joel 的 demo 设置了 CodePen源代码:

我唯一添加的是 js Pane 中 Scrollpath 插件的第 391 行:

context.setLineDash([50,3]);

有什么想法为什么它不起作用吗?

最佳答案

setLineDash 更常见的错误是将破折号之间的间距设置得太短。

冲刺时你必须考虑线帽:

enter image description here

灰色虚线之后的线条部分恰好是笔划宽度的一半。

因此,如果您要绘制一条描边宽度为 50 的虚线,则如果您使用的是 strokeCap 'square' 或,则间隙为 51 的最小间隙为 1 个白色像素'圆形'

如果您像第一个示例一样使用'butt',则任何间隙都会可见。

关于javascript - setLineDash() 不适用于 jQuery Scrollpath 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34057673/

相关文章:

javascript - 选择任何其他单选按钮时清除文本框

javascript - 如何使用 jQuery Datepicker 在选定的日期显示附加信息?

javascript - 如何为多行字符串中的特定文本添加粗体 Canvas ?

image - 实时替换图像上的颜色

javascript - 单击链接时全屏覆盖

javascript - onClick 在通过 React 门户打开的弹出窗口中不起作用

javascript - 如何在 SweetAlert2 中将 Datepicker 置于最前面?

javascript - 从 .find() 编辑文档数组中的文档

Jquery Accordion ,里面有表格

html - 使用 globalCompositeOperation "destination-out"后,我怎样才能得到包含新形状的轮廓?