次のコードで解決:
var anim;
var elem = document.getElementById('bodymovin')
var animData = {
container: elem,
renderer: 'svg',
loop: true,
autoplay: true,
rendererSettings: {
progressiveLoad: false
},
path: 'data_large.json'
};
anim = bodymovin.loadAnimation(animData);
var lookingForLinks = true;
setTimeout(addLinksToSvgAnim, 1000);
function addLinksToSvgAnim() {
if (lookingForLinks) {
let medicalG = document.getElementById("medical");
let foodG = document.getElementById("food");
let collabG = document.getElementById("collab");
let volunteersG = document.getElementById("volunteers");
let projectsG = document.getElementById("projects");
if (medicalG && foodG && volunteersG && projectsG) {
lookingForLinks = false;
medicalG.addEventListener("click", function() {
window.location = window.location.protocol + "//" + window.location.hostname + "/medical-aid";
});
foodG.addEventListener("click", function() {
window.location = window.location.protocol + "//" + window.location.hostname + "/humanitarian-aid";
});
collabG.addEventListener("click", function() {
window.location = window.location.protocol + "//" + window.location.hostname + "/our-story/partners";
});
volunteersG.addEventListener("click", function() {
window.location = window.location.protocol + "//" + window.location.hostname + "/get-involved";
});
projectsG.addEventListener("click", function() {
window.location = window.location.protocol + "//" + window.location.hostname + "/bringhope-projects";
});
}
setTimeout(addLinksToSvgAnim, 1000);
}
}
は、あなたが "#medical" ''の代わりにこのセレクタを使用しようとしたことがありますが、代わりにネイティブのJavaScriptを使用する必要がありますか? (私はJQueryがidsのために最適化すると思うが、私はsurではない) – Vivick
jQueryのオーバーラルと他のIDの動作がうまく動作するので、SVG関連の問題と思われる。 – user3615851
body.click関数を設定し、イベントを確認してください、あなたのsvgボタンをクリックしたときに、ターゲットに何があるかを確認してください – noitse