- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题已更新
这是我目前所做的。
它工作正常,但我想做一个动画,这对我来说有点复杂。
// Get the id of the <path> element and the length of <path>
var myline = document.getElementById("myline");
var length = myline.getTotalLength();
// The start position of the drawing
myline.style.strokeDasharray = length;
// Hide the triangle by offsetting dash. Remove this line to show the triangle before scroll draw
myline.style.strokeDashoffset = length;
// Find scroll percentage on scroll (using cross-browser properties), and offset dash same amount as percentage scrolled
window.addEventListener("scroll", myFunction);
function myFunction() {
// What % down is it?
var scrollpercent = (document.body.scrollTop + document.documentElement.scrollTop) / (document.documentElement.scrollHeight - document.documentElement.clientHeight);
// Length to offset the dashes
var draw = length * scrollpercent;
// Reverse the drawing (when scrolling upwards)
myline.style.strokeDashoffset = length - draw;
}
body {
height: 2000px;
background: #f1f1f1;
}
#mySVG {
position: fixed;
top: 15%;
width: 100vw;
height: 100vh;
margin-left: -50px;
}
.st0 {
fill: none;
stroke-dashoffset: 3px;
stroke: red;
stroke-width: 5;
stroke-miterlimit: 10;
stroke-dasharray: 20;
}
<h2>Scroll down this window to draw my path.</h2>
<p>Scroll back up to reverse the drawing.</p>
<svg id="mySVG" viewBox="0 0 60 55" preserveAspectRatio="xMidYMin slice" style="width: 6%; padding-bottom: 42%; height: 1px; overflow: visible">
<path id="myline" class="st0" stroke-dasharray="10,9" d="M 20 0 v 20 a 30 30 0 0 0 30 30 h 600 a 40 40 0 0 1 0 80 h -140 a 30 30 0 0 0 0 60 h 200 a 40 40 0 0 1 0 80 h -100 a 30 30 0 0 0 -30 30 v 20" /> Sorry, your browser does not support inline SVG.
</svg>
我想要的是为 <circle>
制作动画随着 <path>
的增长喜欢
我知道使用 strokeDasharray
路径正在增长.但是,有没有办法实现我正在寻找的东西。?如果否,请建议另一种方式。谢谢..!
最佳答案
看起来另一个答案已经暗示了这一点:)
// Get the id of the <path> element and the length of <path>
var myline = document.getElementById("myline");
var length = myline.getTotalLength();
circle = document.getElementById("circle");
// The start position of the drawing
myline.style.strokeDasharray = length;
// Hide the triangle by offsetting dash. Remove this line to show the triangle before scroll draw
myline.style.strokeDashoffset = length;
// Find scroll percentage on scroll (using cross-browser properties), and offset dash same amount as percentage scrolled
window.addEventListener("scroll", myFunction);
function myFunction() {
// What % down is it?
var scrollpercent = (document.body.scrollTop + document.documentElement.scrollTop) / (document.documentElement.scrollHeight - document.documentElement.clientHeight);
// Length to offset the dashes
var draw = length * scrollpercent;
// Reverse the drawing (when scrolling upwards)
myline.style.strokeDashoffset = length - draw;
//get point at length
endPoint = myline.getPointAtLength(draw);
circle.setAttribute("cx", endPoint.x);
circle.setAttribute("cy", endPoint.y);
}
body {
height: 2000px;
background: #f1f1f1;
}
#circle{
fill:red;
}
#mySVG {
position: fixed;
top: 15%;
width: 100vw;
height: 100vh;
margin-left: -50px;
}
.st0 {
fill: none;
stroke-dashoffset: 3px;
stroke: red;
stroke-width: 5;
stroke-miterlimit: 10;
stroke-dasharray: 20;
}
<h2>Scroll down this window to draw my path.</h2>
<p>Scroll back up to reverse the drawing.</p>
<svg id="mySVG" viewBox="0 0 60 55" preserveAspectRatio="xMidYMin slice" style="width: 6%; padding-bottom: 42%; height: 1px; overflow: visible">
<circle id="circle" cx="10" cy="10" r="10"/>
<path id="myline" class="st0" stroke-dasharray="10,9" d="M 20 0 v 20 a 30 30 0 0 0 30 30 h 600 a 40 40 0 0 1 0 80 h -140 a 30 30 0 0 0 0 60 h 200 a 40 40 0 0 1 0 80 h -100 a 30 30 0 0 0 -30 30 v 20" /> Sorry, your browser does not support inline SVG.
</svg>
关于javascript - 滚动时随着 <path> 的增长动画化一个圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45506520/
我有一个包含 10 行的 UITableView。每个单元格中都有一个 UITextField。 问题是,当我单击底部单元格中的 UITextField 时,键盘会弹出并阻止该单元格。我该如何处理这个
我真的很喜欢动态图表的外观 here但我想为其他一些图(而不仅仅是散点图)制作动画。 例如,是否可以制作烛台图的动画? 最佳答案 尽管您提出了问题,但我的回答就好像您不关心使用 googleVis,只
我一直在尝试为 UserControl 的打开设置动画,但没有成功,想知道是否有人可以提供帮助? 我有一个 UserControl,它只保存有关记录的信息。它在现有页面上作为一个框打开,但是我希望该框
This question (及其答案)让我达到了我想要的一半。 但现在我陷入了下一部分,(老实说)我什至不确定这是否可能。 我已经这样定义了一个单元格... class ExpandableCell
这个问题在这里已经有了答案: jQuery animate and property values in percentage (6 个答案) 关闭 9 年前。
多年来我一直在尝试为这个下拉菜单制作动画,花了几个小时编辑我认为相关的所有内容,但它仍然不起作用。我有几个链接页面、HTML5 中的源代码、几个引导页面以及一个样式表。这是源代码:
我目前遇到有关动画的 iOS 开发问题。我目前正在使用以下代码制作一个“幻灯片动画”,用于在手势识别器触发后切换标签栏项目。 -(void)slideToTab:(int)controllerInde
如何为 ListView 中新添加的项目设置动画? 我有一个适配器,当我在列表中添加新项目时,我说adapter.notifyDataSetChanged(); 添加了项目,一切正常,但我的问题是我想
我想为我的 UICollectionView 中的变化设置动画。我将 collectionView 作为 @IBOutlet: @IBOutlet weak var collectionView: U
我想为我的 UIView 中的子层设置 backgroundColor 更改动画(在 tintColorDidChange 上)。 我需要多次将图层的当前背景颜色设置为新的色调(每次不同的色调),因此
我正在尝试在选择 View 时使用幻灯片为 NSTabView 的每个 View 设置动画。我以一种时尚的方式工作,但它只会在我第一次选择新的选项卡 View 时进行动画处理。之后我在切换选项卡 Vi
假设我们有一个按钮 I'm a button .It's position is right in the center.Now when i click this button it should
我有一个可以正确设置动画的简单线条 SVG。问题是在第一次加载 SVG 路径时显示然后在开始之前消失。我尝试将 st1 和 st2 上的不透明度设置为 0,然后将关键帧设置为不透明度 1。这种方法有效
在我的应用程序中,我在一个动态改变宽度的场景中有一个 UITableView。当宽度改变时,我为场景的扩展设置动画 - 包括 UITableView。 UITableView 包含带有自定义 View
UIKit 文本输入组件,例如 UITextView 和 UITextField 有一个属性 inputView 来添加自定义键盘。我有两个与此相关的问题。 如果键盘当前可见并且该属性设置为新的输入
我正在尝试制作粒子轨迹的视频。但是,不知何故我的场景永远不会更新。这是一个非常简单的例子: from __future__ import absolute_import, division, prin
在我的 iPhone 应用程序中,我需要实现一种不同类型的过渡。 那是 从当前 View 打开下一个 View , 它像一个点,点像圆圈一样慢慢扩大,圆圈内下一个 View 将部分显示,圆圈内部分显示
有没有办法在 Windows Phone 8.1 Runtime 中平滑地设置 ScrollViewer 的垂直偏移动画? 我已经尝试使用 ScrollViewer.ChangeView() 方法,无
我有一个具体问题和一个一般问题。 我必须使用 javascript(没有框架)为拖动设置动画,我认为最好使用 translate() 而不是更改顶部和左侧,至少为了更好的性能。 但它是用户驱动界面的一
我在 Web 应用程序中动态设置 iFrame 的内容。是的,不幸的是需要使用 iFrame:) 没有使用跨域内容 我能够设置内容,在 iframe 中查找元素等。但现在我想为 iframe 中的一些
我是一名优秀的程序员,十分优秀!