我有适用于Google crome,firefox等的代码,但不适用于Safari浏览器。
什么代码呢?隐藏/显示徽标取决于固定元素的位置-它可以工作,但在Safari中徽标只是隐藏的。
Safari是否支持某些功能?
<svg></svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script>
//svg canvas
var svgCanvas = d3.select("svg")
.attr("width", 1000)
.attr("height", 650)
.attr("class", "svgCanvas");
var data = {
"nodes": [{
"id": "site09",
"x": 317.5,
"y": 282.5
},
{
"id": "site01",
"x": 112,
"y": 47
},
{
"id": "site02",
"x": 42,
"y": 147
},
{
"id": "site05",
"x": 212,
"y": 95
},
{
"id": "site08",
"x": 10,
"y": 200
}
],
"links": [{
"node01": "site05",
"node02": "site08"
},
{
"node01": "site05",
"node02": "site02"
}
]
};
data.links.forEach(function(d) {
var node1 = data.nodes.find(function(e) {
return e.id === d.node01
});
var node2 = data.nodes.find(function(e) {
return e.id === d.node02
});
d.x1 = node1.x;
d.x2 = node2.x;
d.y1 = node1.y;
d.y2 = node2.y;
})
// nodes
svgCanvas.selectAll("circle")
.data(data.nodes)
.enter()
.append("circle")
.attr("cx", function(d) {
return d.x;
})
.attr("cy", function(d) {
return d.y;
})
.attr("r", 10)
.style("fill", "#69b3a2")
// links
svgCanvas.selectAll("line")
.data(data.links)
.enter()
.append("line")
.attr("x1", function(d) {
return d.x1;
})
.attr("y1", function(d) {
return d.y1;
})
.attr("x2", function(d) {
return d.x2;
})
.attr("y2", function(d) {
return d.y2;
})
.style("stroke", "#aaa")
</script>
答案 0 :(得分:0)
完成了。
更改:
$window.on('scroll', function() {
var scrollTop = document.documentElement.scrollTop;
收件人:
$(window).scroll(function() {
var scrollTop = $(window).scrollTop();