我做了一个简单的测试svg-image.
我想要进行切换按钮,所以当我点击btn-test1,路径1将填充=“#000”和其他的“#FFF”.我要制作大约40个不同路径的地图,但是我第一次尝试(不知道是否可能)?
这是迄今为止的HTML
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="500px" height="500px" viewBox="0 0 500 500" enable-background="new 0 0 500 500" xml:space="preserve"> <path id="path1" fill="#FFFFFF" stroke="#231F20" stroke-miterlimit="10" d="M291.451,51.919v202.54c0,164.521,119.846,140.146,0 C407.227,134.613,291.451,51.919,51.919z"/> <path id="path2" fill="#FFFFFF" stroke="#231F20" stroke-miterlimit="10" d="M169.595,150.844c0,0-76.24,69.615-40.606,128.309 c35.634,58.695,155.798-51.867,151.654-85.993C276.498,159.034,177.054,89.42,169.595,150.844z"/> <path id="path3" fill="#FFFFFF" stroke="#231F20" stroke-miterlimit="10" d="M40.332,90.466c0,0-39.911,76.119-2.691,87.83 c37.22,11.71,78.923-46.844,56.054-78.462C70.826,68.216,40.332,90.466,90.466z"/> </svg> </div> <button class="btn" id="btn-test1">Test 1</button> <button class="btn" id="btn-test2">Test 2</button> <button class="btn" id="btn-test3">Test 3</button>
编辑:这个javascript解决了它
<script> $('.btn').click(function() { $('#path1,#path2,#path3').css({ fill: "#ffffff" }); var currentId = $(this).attr('id'); $('#path' + currentId +'').css({ fill: "#000" }); }); </script>
解决方法
您正在寻找填充属性.
看到这个小提琴:http://jsfiddle.net/P6t2B/
例如:
$('#btn-test1').on("click",function() { $('#path1').css({ fill: "#ff0000" }); });