我发现如果中间的图片在被翻到背面没有翻回来的情况下和其他图片替换位置的话,被替换下来的这个图会始终带着i_back这个标签。要怎么能让它不带着这个i_back标签呢?
可以在判断点击是是否是包含photo_center类的标签,如果是包含,那肯定是点击中间图片,正常正反面切换。
如果不包含,你可以写个循环,把所有的photo中的photo-back类变成photo-front之后再去执行图片的重新排序
if(/photo_center/.test(cls)){ if(/photo-front/.test(cls)){ elem.className=cls.replace(/photo-front/,'photo-back'); g("#nav_"+index).className+=' i_back'; }else{ elem.className=cls.replace(/photo-back/,'photo-front'); g("#nav_"+index).className=g("#nav_"+index).className.replace(/i_back/,' '); } }else{ for(var i=0;i<data.length;i++){ g("#photo_"+i).className=cls.replace(/photo-back/,'photo-front');//全部更换 } paixu(index);//比如这是排序函数 }
始终带着i_back标签的原因 是因为在进行排序海报的时候对控制按钮的处理没处理好,将i_back取代掉时没取代掉,你看你点击翻面的时候class是像“ ii_back”这样吗?有两个i。如果你的正则表达式是像“/\s*i_back\s*/” 这样写的,那就不能将class中的i_back匹配到。因为这个正则表达式前后都有空格,而class没有空格。