当前位置:首页 > 日记 > 正文

js获取隐藏元素的高度。

js获取隐藏元素的高度。
获取隐藏元素的物理大小(显示:无)

问题和场景

如果我们有这样一个输入框,单击以展开选择:
这里输入框和扩展区的下面是独立的,独立的两个控件!初始状态下的可选框是隐藏的(NG显示= false)

折叠区手风琴在部署区域的高度(对应于地图中的省、分类字段、短消息部分)高度支持数据,当手风琴折叠和收缩时,有一个高度动画效果。

在计算手风琴高度时,无法获得数据节点元素的高度,从而使手风琴的高度为0,不能折叠!

原因

其子元素的物理尺寸,不能在一个隐藏的div元素节点获得。当膨胀区的输入框下仍然是隐藏的,手风琴的控制不能获得数据的DOM节点元素的高度。

解决方案

高度和宽度()()方法得到的jquey隐藏元素的大小。但这只能得到隐藏元素的高度,并不能得到内部的子元素的高度!!!

解决方案:js控制CSS设置元素的隐藏和显示。

代码显示思想:隐藏元素(移除元素隐藏方式,css属性显示:无或部分样式类)我计算目标元素高度我还原隐藏元素的样式

我遇到了一些问题。

1。元素在显示闪烁球的解决方案和隐藏:CSS可见性:隐藏是不可见的属性,隐藏元素的物理尺寸的可见性:隐藏。

如果计算的高度可以在很短的时间内完成,则可以忽略这种闪烁。

2。元素显示将占用物理尺寸,可能影响到解决方案中的其他元素:球从屏幕上的位置或隐藏文档流中的元素(位置:绝对)。

示例代码如下所示:

叫GetSize方法在隐藏元素通过与目标元素需要的尺寸可以回到targetel大小!!!!
/ /物理尺寸,得到元件参数:元素节点元素隐藏;targetel需要得到目标元素的大小
this.getsize =功能(元,targetel){
/ /增加隐藏,防止显示闪烁的元素;位置:绝对的;显示:无是否加
无功_addcss = {可见性:隐藏的};
无功_oldcss = { };
无功_width;
无功_height;
如果(this.getstyle(元,显示)!{){
返回宽度:!targetel targetel.offsetwidth:element.offsetwidth,高度:!!targetel targetel.offsetheight:元。offsetheight };
}
对于(VAR我_addcss){
我_oldcss { } = this.getstyle(元,我);
}
this.setstyle(元,_addcss);
这里是AngularJS / NG显示指令隐藏要素,去掉ng隐藏风格类可以隐藏
无功_isnghide = element.classlist.contains(ng隐藏);
_isnghide element.classlist.remove(ng隐藏);
_width =!targetel targetel.offsetwidth:element.offsetwidth;
_height =!targetel targetel.offsetheight:element.offsetheight;
在还原类之前
this.setstyle(元,_oldcss);
_isnghide element.classlist.add(ng隐藏);
返回:_width {宽度,高度:_height };
};
this.getstyle =功能(元素、风格){
返回元素。风格{为} { }元素。风格为:element.currentstyle元。currentstyle {为}:window.getcomputedstyle(元,null){为};
};
this.setstyle =功能(元,obj){
如果(angular.isobject(obj)){
对于(在对象的属性){
无功cssnamearr = property.split();
对于(var i = 1,len = cssnamearr.length;我< len;i++){
我cssnamearr { } = cssnamearr {我}。取代(cssnamearr {我}。charAt(0),cssnamearr {我}。charAt(0)。ToUpperCase()));
}
无功cssname = cssnamearr.join();
元。风格{ cssname } = obj {属性};
}
}
如果(angular.isstring(obj)){
element.style.csstext = obj;
}
};
以上是本文的全部内容,希望本文的内容能给大家的学习或工作带来一定的帮助,同时也希望能给予更多的支持!

相关文章

windows系统中写字板应用的完整策

windows系统中写字板应用的完整策

系统,写字板,策略,完整,电脑软件,平时我们用不起眼的写字板,其实也可以玩一个新花样,不比word差,这篇文章,我们会带你全面了解Vista的板。 1)字体样式是可选的。 按格式菜单,然后单击字体! 截图1如下: 2)段落的方式。 事实上,写字板并没有淡出一…

在Excel2007Excel2007教程字符格式

在Excel2007Excel2007教程字符格式

设置,教程,字符,方法,格式,字符格式设置不在WPS和功能出现在2007字符格式的出现,可以帮助我们节省的功能键的功能。今天,小编辑教你建立在Excel2007中设置字符格式的方法。 步骤在Excel2007中设置字符格式如下: 创建一个新Excel窗体,然后选择…

Word如何使用模板来制作表

Word如何使用模板来制作表

模板,如何使用,电脑软件,Word,当人们使用word来创建表单时,他们可以用内置的表单模板快速创建表,并有适合于多种用途的表格样式供人们选择。 使用模板的造词表的步骤如下: 步骤1:打开Word2010窗口中,单击插入选项卡;。 第二步:点击表按钮。 步骤…

用滤波器产生水波效应

用滤波器产生水波效应

效应,滤波器,水波,电脑软件,ps有丰富的过滤功能,给大家介绍PS用滤镜制作水波效果的方法,方法很简单,希望对你有所帮助。 步: 1,使用菜单的文件是新的。创建一个新画布。 2,前景的设置是白色的。 3、背景色设置为蓝色。 4,使用工具栏的渐变,径向,前…

Linux基本正则表达式

Linux基本正则表达式

正则表达式,电脑软件,Linux,字符匹配: :匹配任何单个字符 {任何单个字符都匹配指定的范围; { }:^集之外的任何单个字符{上下αalnum空间范围匹配:数字:} 次数:在字符指定其出现次数后使用,用于限制它出现的次数。 *:匹配字符在前任何时间:0。多次 …

制作立体图形三视图的基本技术

制作立体图形三视图的基本技术

图形,三视图,技术,电脑软件,如何绘制一个正方体和一个平面立方体,实现三视图的学习,使我们在这里使用word实现立方体,从而实现三视图。然后将由小编辑器为您提供三视图的立体图形,希望能对您有所帮助。 立体视图的三视图的步骤如下: 步骤1:创建…

Windows无法启动Windows防火墙服务

Windows无法启动Windows防火墙服务

错误,防火墙,无法启动,服务,解决方案,问题: Win8系统自带的防火墙服务无法打开,错误信息:Windows无法启动Windows防火墙服务(本地计算机) 错误1079:此服务的帐户与在同一进程中的其他服务上运行的帐户不同(如下所示)。不知道发生了什么 答案uff1…

用引导按钮组件消除黄色帧的方法

用引导按钮组件消除黄色帧的方法

方法,组件,按钮,黄色,电脑软件,引导程序的按钮边界问题 在最近的联机引导研究中,发现许多儿童鞋会遇到许多坑,有些容易脱落而不出来。 Bootstrap框架在中国还是比较热的,毕竟,学习速度快,代码简洁,但可以节省很多在它的日常开发的东西,但它只是…

CSS核心概要(推荐)

CSS核心概要(推荐)

推荐,核心,概要,电脑软件,CSS,今天,这是整合以前的CSS补充知识。 我认为CSS以前的知识有点混乱,今天就整理一下。 级联样式表 栈是什么意思为什么这个词如此重要以至于它必须以它的名字出现。 堆叠可以简单地理解为解决冲突的方法。 什…

添加多页标签和书签

添加多页标签和书签

书签,标签,多页,电脑软件,使用Chrome浏览器的用户对浏览器的多页标签浏览功能印象深刻。也许他们曾经以为,如果你使用Windows资源管理器类似的标签,这将是一个不错的选择。自由软件工具的三叶草(CN。易洁。我)可以帮助我们实现这一想法,下载和安…

ps级函数讲解教程

ps级函数讲解教程

教程,函数讲解,电脑软件,ps,这是ps中很重要的一个颜色函数命令,所以你一定要知道。 ps级函数讲解教程 1是什么。级别:用直方图来描述阴影信息的全貌,如图所示: 从左到右,是从黑暗到明亮的像素的分布,黑色三角形代表最黑暗的地方(春-黑),白色三角…

使用ajax异步提交表单的几种方法

使用ajax异步提交表单的几种方法

异步,提交表单,几种方法,电脑软件,ajax,以下是三种常见的提交方法 途径之一 人工采集的所有用户输入,封装成大K1 = v1k2 = V2…关键值的形式,使用美元。后(URL数据,FN)提交数据到服务器 $ ajax({ 类型:'post, 网址:'notice_notipsnotice, 数据:'…