2

jquery.i を使用してマップ内の状態を強調表示する際に問題が発生し、javascript を使用して実装しました。` SVG Illustrator テスト

    <object data="map_with_hover.svg" type="image/svg+xml" id="alphasvg" width="100%" height="100%"></object>
<script>
    var a = document.getElementById("alphasvg");

    //it's important to add an load event listener to the object, as it will load the svg doc asynchronously
    a.addEventListener("load",function(){
        var svgDoc = a.contentDocument; //get the inner DOM of alpha.svg
        var delta = svgDoc.getElementById("states"); //get the inner element by id
        delta.addEventListener("mouseover",function(evt){ evt.target.setAttributeNS(null,"opacity","0.5");},false);    //add behaviour
        delta.addEventListener("mouseout",function(evt){ evt.target.setAttributeNS(null,"opacity","1");},false);    //add behaviour
    },false);
</script>

</body>
</html>

`

このコードでは状態が簡単に強調表示されますが、ツールチップも追加したいのでjqueryでやりたいので、マウスオーバー時に状態名も表示されます。基本的に、SVGのIDまたはクラスまたはタグを使用して、jqueryを使用してさまざまなアクションを実行する方法を知りたいです。

4

2 に答える 2

0

ファイルを HTML に直接埋め込む必要があります (SVG タグを使用)。これにより、プレーンな jQuery を使用してさまざまな SVG 要素を選択できるようになります。こちらをご覧ください

このコードは非常に基本的なものなので、自由に使用してください。Wikipedia から地図を引っ張ってきました。

于 2013-01-10T22:00:27.350 に答える
0

jQuery SVGというライブラリがあり、これが役に立ちます。

于 2013-01-07T08:03:58.007 に答える