Javascript 设置SVG图形栏高度的动画

Javascript 设置SVG图形栏高度的动画,javascript,html,css,svg,jquery-animate,Javascript,Html,Css,Svg,Jquery Animate,问题: 我正在尝试设置SVG图形栏高度的动画: 我的部分问题是.height()返回0,而.attr(“height”)返回真实高度 $(function(){ var $theBars = $("#v-bars").children(); var BarsHeight = $theBars.each(function(index, element ) { var origHeight = $(this).attr("height"); console.log( index +

问题:

我正在尝试设置SVG图形栏高度的动画:

我的部分问题是
.height()
返回
0
,而
.attr(“height”)
返回真实高度

$(function(){
var $theBars = $("#v-bars").children();
var BarsHeight = $theBars.each(function(index, element ) {
    var origHeight = $(this).attr("height");
    console.log( index + ": " + $(this).attr("height"));
    console.log( index + ": " + $(this).height());
});
});
我计划将高度设置为零,并使用
jquery.animate
在触发
eventHander
时设置高度动画,但由于返回的高度问题,似乎无法设置

问题:

  • 为什么
    .height()
    返回零
  • 例如,单击时,将原始高度应用回杆的最佳方法是什么
  • 编辑:零件解决方案


    可以编辑“高度”属性。这需要弄清楚如何将HTML中的值数组

    传递给它高度和宽度是CSS属性,即您可以编写
    ,然后高度()将是100%。在SVG中,高度和宽度是XML属性,因此您可以编写

    attr()获取属性值,这就是它工作的原因


    您可以将原始值存储为自定义属性,惯例是从开始这样做,然后在单击时将自定义属性值应用回工具栏。

    Thx!我来看看这个方法。所以XML元素没有高度或宽度属性!他们只尊重高度或宽度属性!SVG的创建者决定宽度/高度为属性,HTML的创建者选择CSS样式。它与XML并没有真正的联系。