在SVG图里加按钮

有时因为一些需要,要在SVG图里加按钮之类的东西,让按钮显示在SVG图上,一般有2种办法:

1、比较常见的是网上所说的在embed标签里加wmode="Transparent"的属性,这种办法的好处是可以随意用CSS+DIV给按钮在网页中定想要的位置说。例子:

    <style type="text/css">
    body {
 font-family: Arial, Helvetica, sans-serif;
 margin:0 auto;
 font-size:12px;
 color:#333333;
 width:100%;
}
.button_div{
 margin:0 auto;
 width:100%;
 height:500px;
 position:relative;
}
.butt{
 position:absolute;
 top:50px;
 left:30px;
}
    </style>
<script type="text/javascript">
function Button4_onclick() {
    //代码
}

    </script>

<div class="button_div">
        <embed name="svg" id="svg" type="image/svg+xml" src="PIC.svgz" width="800px" wmode="Transparent"
            height="600px"></embed>
            <div class="butt1">
            <input id="Button4" οnclick="Button4_onclick()" type="button" value="刷新" />
            <br />
            </div>
    </div>
在这里,<div class="butt1">相对<div class="button_div">定位了,按钮浮动在SVG图上。可以定位于图上的任何位置,也不用设置优先级,而且JS事件写起来也很方便。

2、也可以在SVG图里画好按钮,写好文字,之后在文字的<text>标签里写JS事件,例子:

<a xlink:href="javascript:Button4_onclick()" id="a237">刷新</a>

然后引用的页面上写JS的事件(比如这个的:Button4_onclick())就可以。

 

### 回答1: 在 Echarts 中,可以使用 `toolbox.feature.magicType.icon` 选项来自定义折线的切换按钮标。该选项是一个对象,其属性名表示切换按钮的类型,例如 `line` 表示切换到折线,`bar` 表示切换到柱状,`stack` 表示切换到堆叠模式等等。属性值则表示该类型的标。 以下是一个示例,演示如何将折线标修改为自定义的标: ```javascript option = { // 其他配置项 toolbox: { feature: { magicType: { type: ['line', 'bar'], // 需要切换的类型 icon: { // 自定义标 line: 'path://M53.647,29.323l-2.306-0.944L25.748,52.04l-6.726,6.853l-5.042,5.153c-1.56,1.596-4.128,1.596-5.689,0L6.733,57.893 c-1.56-1.596-1.56-4.185,0-5.781l5.042-5.153l6.726-6.853L49.669,20.717l2.306-0.944c1.502-0.614,3.238,0.208,3.857,1.71 C57.275,26.616,55.15,28.709,53.647,29.323z M25.826,48.058l25.518-26.062c0.423-0.432,1.091-0.432,1.514,0l1.553,1.584 c0.423,0.432,0.423,1.137,0,1.568L27.364,50.209c-0.423,0.432-1.091,0.432-1.514,0l-1.553-1.584 C25.403,49.195,25.403,48.49,25.826,48.058z', bar: 'path://M53.647,29.323l-2.306-0.944L25.748,52.04l-6.726,6.853l-5.042,5.153c-1.56,1.596-4.128,1.596-5.689,0L6.733,57.893 c-1.56-1.596-1.56-4.185,0-5.781l5.042-5.153l6.726-6.853L49.669,20.717l2.306-0.944c1.502-0.614,3.238,0.208,3.857,1.71 C57.275,26.616,55.15,28.709,53.647,29.323z M25.826,48.058l25.518-26.062c0.423-0.432,1.091-0.432,1.514,0l1.553,1.584 c0.423,0.432,0.423,1.137,0,1.568 ### 回答2: 在Echarts中,toolbox.feature.magicType.icon用于自定义折线标设置。我们可以通过修改该属性来改变默认的标样式。 首先,我们需要了解magicType的作用是提供切换不同类型表的功能。表类型包括折线(line),柱状(bar),堆叠(stack),平铺(tiled)等。而toolbox.feature.magicType.icon属性则用于设置不同类型表的标。 在自定义设置之前,我们需要找到合适的标资源。可以通过在网上搜索免费的标资源,或者使用自定义的标。标通常以SVG或者片的形式存在。 一旦找到适合的标,我们可以将其引入到项目中,并将标的路径或者资源信息传递给toolbox.feature.magicType.icon属性。具体设置如下: ```javascript toolbox: { feature: { magicType: { show: true, type: ['line', 'bar', 'stack', 'tiled'], title: { line: '折线', bar: '柱状', stack: '堆叠', tiled: '平铺' }, icon: { line: 'path://M5.8,48.5h22.4L57.1,14l23.8,88H82.4L72.5,67.1l-14,48.5L48.5,78.5L39.6,116H15.9L39.6,28.4L5.8,48.5zM4,3h112v112H4V3z', // 折线标路径 bar: 'image://http://example.com/bar_icon.png', // 柱状标路径 stack: 'path://M119,122.5V9H5v113.5H119z', // 堆叠标路径 tiled: 'image://http://example.com/tiled_icon.png' // 平铺标路径 }, }, }, }, ``` 以上代码中,我们使用了不同类型的标资源,折线使用了SVG格式的标路径,柱状和平铺使用了外部片资源的路径,堆叠使用了SVG格式的标路径。这样就完成了对折线标的自定义设置。 需要注意的是,在实际使用时,我们需要将标路径或者资源替换为自己的标资源路径或者资源信息。此外,还可以根据具体需求对标样式进行进一步的调整,如颜色、大小等。 通过以上的自定义设置,我们可以为Echarts中的折线标提供独特的样式,以满足项目的需求。 ### 回答3: Echarts是一款开源的数据可视化库,可用于创建各种各样的表,包括折线。在Echarts的折线中,可以通过toolbox.feature.magicType.icon参数进行对标进行自定义设置。 toolbox.feature.magicType.icon参数可以接受一个数组,数组中的每个元素对应着不同的标。可以使用片URL或者是符号名称来定义标。例如,可以使用FontAwesome提供的标来定义折线标: toolbox: { feature: { magicType: { icon: ['line', 'bar'] } } } 上述代码中,将折线标line和柱状标bar定义为了折线标。这样,在右上角的工具栏中,我们就能看到使用指定标的按钮。 如果要使用自定义的标,可以通过URL来指定标路径,例如: toolbox: { feature: { magicType: { icon: ['path/to/line.png', 'path/to/bar.png'] } } } 上述代码中,使用了自定义的标路径,这样在折线的工具栏中就能看到使用自定义标的按钮。 除了使用标路径,也可以使用符号名称来指定标。Echarts内置了一些常用的符号名称,例如'rectangle', 'circle', 'arrow', 'diamond'等。可以通过指定这些符号名称来定义折线标。 总之,通过toolbox.feature.magicType.icon参数,我们可以根据需要对Echarts的折线按钮标进行自定义设置。可以使用FontAwesome提供的标、自定义的标路径或者是Echarts内置的符号名称来定义标。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值