由于特殊原因,我正在处理的项目需要使用 Safari 的 webarchive 功能。我正在使用这支笔的简化版本作为进度条。更简单的代码可以在这里和下面看到。
如果此页面保存为 webarchive,进度条会在其下方复制。如果它是动画的,它下面的“幽灵”是不活动的。我想知道是否有解决方法,所以没有重复。任何更改可见性设置的尝试,例如 hidden 或 display:none 都失败了。
编辑:我现在已经通过使用引导进度条来规避这个问题。
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="utf-8">
<script src="//d3js.org/d3.v3.min.js" charset="utf-8"></script>
<style>
#play-progress {
width: 400px;
margin-bottom: 10px;
margin-top:10px;
margin-left:20px;
background-color: brown;
height: 36px;
position: relative;
border-radius: 20px;
}
#play-svg {
border-radius: 20px;
}
#progress-bar {
fill:blue;
}
</style>
</head>
<body role="document">
<div id= "play-progress"> </div>
<script>
//Progress bar
var data_index = 0;
var progress_width = 400;
var speed = 650;
var animation;
// add the progress bar svg
var progress = d3.select("#play-progress").append("svg:svg")
.attr("id","play-svg")
.attr("width", progress_width)
.attr("height", 36);
// append a rect, which will move to the right as the animation plays
// this creates the progress bar effect
progress.append("rect")
.attr("id","progress-bar")
.attr("width", progress_width)
.attr("height", 36)
.attr("x",0)
.attr("y",0);
function setProgressWidth(num) {
progress_width = 400;
document.getElementById("progress-bar").style.width = num;
}
</script>
</body>
</html>