使用JavaScript切换DOM元素显示状态的七种方法

2016-02-19 16:42 13 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐使用JavaScript切换DOM元素显示状态的七种方法,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - Web开发 】

  通过JavaScript切换一个元素的显示状态的方法实际上是不可计数的,但在这其中确实有一些非常实用的技巧。追溯到上个世纪90年代后期,切换元素的状态可能是JavaScript开发书籍最早介绍的技巧之一了。实际上就算在现在,如果能够合理地控制元素的显示和隐藏,同样可以大幅度提高用户的体验。

  不管怎样,这里介绍实现这种效果的七种方式。

  正文开始

  第一种,可能是最简单的,也是大家最常用的方式。

  最直接的切换方式

// 显示document.getElementById('element').style.display = '';// 隐藏document.getElementById('element').style.display = 'none';

  我们把上面的操作包装到函数中,这样使用起来更加快速,比如下面这段代码:

  显示还是隐藏?

function toggle(obj) {  var el = document.getElementById(obj);  if ( el.style.display != 'none' ) {    el.style.display = 'none';  }  else {    el.style.display = '';  }}

  这种方式很容易就实现了,但我们可以改进一下,使用三元条件运算符简化代码。

  三元风格的切换

function toggle(obj) {  var el = document.getElementById(obj);  el.style.display = (el.style.display != 'none' ? 'none' : '' );}

  你听过$函数么?如果其他函数没有使用这个名称,我们可以借用一下!

  使用$赋予三元风格更多内涵

// 我们的美元函数function $() {  var elements = new Array();  for (var i = 0; i  arguments.length; i++) {    var element = arguments[i];    if (typeof element == 'string')      element = document.getElementById(element);    if (arguments.length == 1)      return element;    elements.push(element);  }  return elements;}// 切换函数的升级版function toggle(obj) {  var el = $(obj);  el.style.display = (el.style.display != 'none' ? 'none' : '' );}

  好吧,现在这项工作已经变得很简洁了,但我们可以做的更漂亮么?为什么不呢。我们现在还有个限制,就是只能切换一个对象的状态,让我们突破这个限制。

  同时切换多个对象

function toggle() {  for ( var i=0; i  arguments.length; i++ ) {    $(arguments[i]).style.display = ($(arguments[i]).style.display != 'none' ? 'none' : '' );  }}

  非常好,现在这段代码看起来已经非常养眼了(个人认为这段是最棒的)。让我们在尝试一下,能不能显式的设置每个对象是显示还是隐藏。

  分离显示和隐藏操作

var toggle = {  show : function(obj) {    document.getElementById(obj).style.display = '';  },  hide : function(obj) {    document.getElementById(obj).style.display = 'none';  }};

  好吧,问题来了,刚才定义的$函数怎么办呢,我们要把两种方式结合起来。

  经过整合的显示和隐藏操作

var toggle = {  show : function(obj) {    $(obj).style.display = '';  },  hide : function(obj) {    $(obj).style.display = 'none';  }};

  好吧,我们为什么不在参数的传递上更灵活一些呢,这样就可以同时操作更多的元素,这当然没问题!

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  进一步升级的分离和显示操作

var toggle = {  show : function() {    for ( i=0; i  arguments.length; i++ ) {      $(arguments[i]).style.display = '';    }  },  hide : function() {    for ( i=0; i  arguments.length; i++ ) {      $(arguments[i]).style.display = 'none';    }  }};

  最后,我们终于实现了最初要求的效果了。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1612861.html

延伸阅读
tulaoshi.com 生男孩和生女孩的方法大全 俗话说的好,酸儿辣女。但这只是民间流传的说法。从科学的角度讲,生男生女的概率应该是相等的。虽然进入现代社会,没有什么男女不平等的概念,但是爸爸妈妈们总是有自己的心愿,或者想要男孩或者想要女孩的。那么如何控制生男孩和生女孩的几率呢?有没有什么好的方法呢?本文提供的仅是一些方法,...
标签: 分娩
一起来看看让孩子爱上大自然的方法吧! 1、经营花园 没有什么能比双手抓泥巴更亲近大自然的了!即使是有些园艺天赋的小孩,也能在妈妈的帮助下开始经营自己的花园或菜园子。和孩子一起种植物也是一次很好的学习机会,孩子们既不会有像在学校上课的感觉,又能学到大自然是怎样运作的。花园的乐趣可不只是蹲在地上挖土。把孩子...
标签: 孕前
受孕季节可影响胎儿性别 众所周知,孩子的性别、智力和父母有着密不可分的关系,但是有研究证明,生孩子不仅要看父母,还要看气候。德国明斯特大学两位科学家通过对全球200个国家和地区的10亿份婴儿出生记录分析后发现,气候会影响孩子的出生日期、性别及智力。 10—22摄氏度最容易受孕 科学家认为,一年当中最易受孕的时间是每天太阳照射...
标签: 理财 投资
遵循收入三分法 每个月发工资不要急着出去大吃大喝,你可以把它大致分为3份:生活费1/3,里面包含房租,水电,通讯和柴米油盐等,这部分是不能动用作为其他用处的噢;储蓄占1/3,折部分可以存到银行,没有特殊的事情不要用;活动资金1/3,最后这部分钱可以根据自己目前的生活目标自由的使用,比如购物,聚会,旅行等。 建立自己的梦想储...
标签: 月子
产后消除黄褐斑的七种方法     孕妇刚生完孩子后,脸上开始出现少量浅色的斑,然后逐渐出现比较多而且颜色深的黄褐斑,让很多分娩完的妈妈都很担心,怕以后容貌会因为黄褐斑被毁。        引起黄褐斑的主要原因是女性内分泌失调、精神压力大、各种疾病(如糖尿病、妇科病和肝肾功能不全...

经验教程

816

收藏

82
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部