2015-12-03 25 views
0

对于HTML画布路径,我试图从Joel Besada实现jQuery Scrollpath plugin--这很顺利,直到我试图查看有关使路径变成虚线。setLineDash()与jQuery滚动路径插件不兼容

我在网上找到了setLineDash()的文档,在调用stroke()之前,它看起来像只是将它与其他2D上下文线样式一起添加进去,所以我在jquery.scrollpath.js文件中更改了该节并添加了在我所有的其他线型自定义,但没有运气。

我已经成立了一个CodePen这里与乔尔的demo源代码:

我说的唯一的事情就是线391到Scrollpath插件在JS窗格:

context.setLineDash([50,3]); 

任何思考为什么不会工作?

+0

它的工作,只是让你的段比'lineWidth'更多的空间,否则你就不会看到它。 (在你的例子中是10,而5的差距比它小)http://codepen.io/anon/pen/vLBVyx – Kaiido

+0

太棒了,谢谢! – valo

+0

ps,它实际上是由于'setLineCap(round)',它会将strokewidth添加到路径段的末尾和开始处 – Kaiido

回答

0

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

潇洒当你不得不去想的linecap:

enter image description here

灰色破折号之后的线部分是完全笔画宽度的一半。

因此,如果您正在划定一条线条的行程宽度为50,那么如果您使用的是strokeCap 'square''round',则间隙为51是最小间隔为1个白色像素。

如果您在第一个示例中使用'butt',则任何间隙都将可见。