在网页特效中,层的显示与隐藏是很经常要用到的。而往往我们为了让层的显示实现动态的显示与隐藏,要在代码中赋予相关函数一个开关。例如下面这个例子:
事实上,显示与隐藏是一个挺简单的功能,但是我们可以从上面看到,这个功能实现起来还是要那么十行代码的。今天坐在电脑前,我就在想有没有更好的方法解决这个问题。到底有没有方法可以让我们实现这么一个开关功能的同时,代码效率有所提高或者说起码不用显得如此冗长呢?
我琢磨了半天,其实真的想要提高效率是不怎么可能的,因为上述代码已经很精简了。我们所能做的只能是优化语法。提高编写速度。在这里我采用了三目表达式来解决这个问题。
其中,我还是运用了一个最简单的算法去实现开关的自我赋值的,大家可以仔细琢磨一下。其实我想出来的这个东西着实意义不大。最初的目的只是想让自己偷偷懒,不想因为实现那么一个简单的功能而敲那么十行左右的函数。我想,即便对于代码执行效率的贡献不打,但是对于大多数程序员来说,还是喜欢我下面的代码的吧?哈哈,反正我是不会再为了那么一个小功能敲上那么十行左右冗长的代码了。
var on = 1;
function show(){
var d = document.getElementByIdx_x_x("box");
if(on==0)
{
d.style.display = "block";
on+=1;
}
else
{
d.style.display = "none";
on-=1;
}
}
事实上,显示与隐藏是一个挺简单的功能,但是我们可以从上面看到,这个功能实现起来还是要那么十行代码的。今天坐在电脑前,我就在想有没有更好的方法解决这个问题。到底有没有方法可以让我们实现这么一个开关功能的同时,代码效率有所提高或者说起码不用显得如此冗长呢?
我琢磨了半天,其实真的想要提高效率是不怎么可能的,因为上述代码已经很精简了。我们所能做的只能是优化语法。提高编写速度。在这里我采用了三目表达式来解决这个问题。
var on = 1;
function show(){
var d = document.getElementByIdx_x_x("box");
(on*=-1)==1?d.style.display = "block":d.style.display = "none";
}
其中,我还是运用了一个最简单的算法去实现开关的自我赋值的,大家可以仔细琢磨一下。其实我想出来的这个东西着实意义不大。最初的目的只是想让自己偷偷懒,不想因为实现那么一个简单的功能而敲那么十行左右的函数。我想,即便对于代码执行效率的贡献不打,但是对于大多数程序员来说,还是喜欢我下面的代码的吧?哈哈,反正我是不会再为了那么一个小功能敲上那么十行左右冗长的代码了。