Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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 了解safari SVG重新绘制错误修复。_Javascript_Svg_Snap.svg - Fatal编程技术网

Javascript 了解safari SVG重新绘制错误修复。

Javascript 了解safari SVG重新绘制错误修复。,javascript,svg,snap.svg,Javascript,Svg,Snap.svg,我刚刚通过snap sbg演示,遇到了以下代码行: var flag, len = Snap.path.getTotalLength(pth.attr("d")); Snap.animate(0, len, function (l) { // Safari bug workaround: forcing redraw g.attr({width: 100 + (flag = !flag ? 1e-5 : 0) + "%"}); // var dot = p

我刚刚通过snap sbg演示,遇到了以下代码行:

var flag,
    len = Snap.path.getTotalLength(pth.attr("d"));
Snap.animate(0, len, function (l) {
    // Safari bug workaround: forcing redraw
    g.attr({width: 100 + (flag = !flag ? 1e-5 : 0) + "%"});
    //
    var dot = pth.getPointAtLength(l);
    flight.attr({
        d: pth.getSubpath(0, l)
    });
    pln.attr({
        transform: "t" + [dot.x, dot.y] +
                   "r" + (dot.alpha - 90)
    });
    gr.attr({
        transform: getShift(dot)
    });
}, 10000);
现在我不太理解下面的代码行:

g.attr({width: 100 + (flag = !flag ? 1e-5 : 0) + "%"});

什么是
1e-5
?有人能解释一下吗

我不熟悉Snap,但代码似乎正在将每帧的宽度属性从100%更改为100.00001%,从而导致重新绘制。1e-5,如注释中所述,是使用科学符号表示实数的数字,等于10^-5=0.00001

我不熟悉Snap,但代码似乎正在将每帧的宽度属性从100%更改为100.00001%,从而导致重新绘制。1e-5,如注释中所述,是使用科学符号表示实数的数字,等于10^-5=0.00001

flag = (!flag ? 1e-5 : 0) + "%"
同:

if(!flag) {
    flag = 0.00001; //1e-5 is the scientific notation for 1^-5
} else {
    flag = 0;
}

flag = flag + "%";
同:

if(!flag) {
    flag = 0.00001; //1e-5 is the scientific notation for 1^-5
} else {
    flag = 0;
}

flag = flag + "%";
,在本例中为0.00001,在本例中为0.00001