请教一下前辈,这段js如何优化一下,是基于zepto来写的

var lastIndex = 0;
            $(‘#click-test‘).on(‘click‘,function(){
                var pages = [‘item-list‘,‘diag‘];
                for(var i=0;;){
                    var index = parseInt(Math.random()*10) % pages.length;
                    if(index != lastIndex){
                        lastIndex = index;
                        break;
                    }
                }
                var searchClass = pages[index];
                var headerEle = $(‘.page‘).find(‘.header-nav.‘+searchClass+‘-header‘);
                var contentEle = $(‘.content‘).find(‘.‘+searchClass);

                headerEle.addClass(‘fadeInLeft‘);
                headerEle.siblings(‘.header-nav‘).removeClass(‘active‘);
                headerEle.siblings(‘.header-nav‘).addClass(‘hide‘);
                headerEle.removeClass(‘hide‘);

                contentEle.addClass(‘fadeInLeft active‘);
                contentEle.siblings(‘.m-content‘).removeClass(‘active‘);
                contentEle.siblings(‘.m-content‘).hide();
                contentEle.show();
            });

上面之所有用移除和添加class="hide",是因为涉及到手机端的css3的样式问题

时间: 2024-10-10 09:48:09

请教一下前辈,这段js如何优化一下,是基于zepto来写的的相关文章

js性能优化之--数据访问选取

在javascript里有4种数据存储的方式: 直接量:仅表示自己,不存储于某特定的位置,没有指向 变量:js中使用var关键字创建并存储信息 数组:具有数字索引,存储一个数组对象 对象:具有字符串索引,存储一个js对象 在代码中访问数据都会造成一定的操作负担,毋庸置疑,电脑的每一次操作都会占用性能 而对于4中存储的访问照成的性能负担都是有差异的 以下使用一张图表表示对不用数据类型进行200000次读操作的时间(引用自<高性能的javascript>) 尽管不能代表全部,但总体来说,通过这些数

js性能优化-事件委托

js性能优化-事件委托 考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大的影响. 就像下面这段代码: <!DOCTYPE HTML><html><head><meta charset="utf-8" /><title>js性能优化&l

JS性能优化

下面是一些关于客户端JS性能的一些优化的小技巧: 1.[顶]关于JS的循环,循环是一种常用的流程控制.JS提供了三种循环:for(;;).while().for(in).在这三种循环中 for(in)的效率最差,因为它需要查询Hash键,因此应尽量少用for(in)循环,for(;;).while()循环的性能基本持平.当然,推 荐使用for循环,如果循环变量递增或递减,不要单独对循环变量赋值,而应该使用嵌套的++或--运算符. 2.如果需要遍历数组,应该先缓存数组长度,将数组长度放入局部变量中

Selenium-webdriver 系列Python教程(3)————如何执行一段JS

有时候在进行自动化测试时需要在页面上执行一段js 脚本, 这个时候就需要用到 execute_script 方法了. from selenium import webdriver BrowserObj_dirver = webdriver.Ie() BrowserObj_dirver.get( "http://www.soso.com") BrowserObj_dirver.implicitly_wait(5) BrowserObj_dirver.execute_script(&quo

由一段JS代码引发的思考

不知道大家在编程的时候有没有遇到过这种情况,就是在循环遍历删除一部分内容的时候,发现只能删除其中一部分,而另一部分却总也删不掉,然后觉得自己的逻辑没有问题啊,于是陷入了深深的抑郁之中…… 昨天在处理一段JS脚本的时候就遇到了这种问题,业务逻辑很简单,就是获取HTML某元素下的所有子元素,然后循环删除(其实更简单的方法是直接innerHTML赋值为空,这里只是讨论一下关于删除的问题).我发现每次删除完,总是有剩余,也就是删不干净,于是我进行了调试,发现当有3个元素时删除完还剩1个,4个元素剩2个…

开源.NET项目 CSS、JS资源优化类库及工具

ResourceOptimizeSolution项目,是基于Yahoo Yui,对css.js进行优化的类库及winform项目. 项目地址:http://git.oschina.net/radray/ResourceOptimizeSolution git地址:https://git.oschina.net/radray/ResourceOptimizeSolution.git 项目包含资源优化类库及winform客户端. DLL和EXE,在git的附件中.http://git.oschina

应用r.js来优化你的前端

r.js是requireJS的优化(Optimizer)工具,可以实现前端文件的压缩与合并,在requireJS异步按需加载的基础上进一步提供前端优化,减小前端文件大小.减少对服务器的文件请求.要使用r.js需下载r.js文件(点我下载),将其放到你的项目根目录:还需要安装nodeJS(点我下载),以便通过命令行来执行r.js功能.我们将拿一个小案例来详细说明使用r.js的方法(你可以点此下载这个案例). 如下图所示的项目(见案例中的before文件夹)仅仅使用了requireJS,但还未使用过

JS操作性能优化

1. 适当使用变量 Maybe 1 document.getElementById("myField").style.backgroundColor = "#CCC"; 2 document.getElementById("myField").style.color = "#FF0000"; 3 document.getElementById("myField").style.fontWeight = &q

js 性能优化 篇一

JS性能优化 摘自:http://www.china125.com/design/js/3631.htm 首先,由于JS是一种解释型语言,执行速度要比编译型语言慢得多.(注:,Chrome是第一款内置优化引擎,将JS编译成本地代码的浏览器,其它浏览器也陆续实现了JS的编译过程.但是,即使到了编译执行JS的新阶段,仍然会存在低效率的代码.)以下总结一些可以改进代码的整体性能的方法. 1.注意作用域 记住一点,随着作用域中的作用域数量的增加,访问当前作用域以外的变量的时间也在增加.所以,访问全局变量