美文网首页
列表滚动方法

列表滚动方法

作者: shougg22 | 来源:发表于2018-07-06 15:30 被阅读0次
                //isDetail 参数是为了解决增加点击按钮滚动时的一个标识符 , 如果是单纯的列表滚动,可不用传此参数
                var canMoveDetailBox=true;
    
                function doMove(obj, attr, iTarget,isDetail) {
                    clearInterval(obj.timer);
                    obj.timer = setInterval(function() {
                        var iCur = 0;
                        if (attr == 'opacity') {
                            iCur = parseInt(parseFloat(getStyle(obj, attr)) * 100);
                        } else {
                            iCur = parseInt(getStyle(obj, attr));
                        }
                        var iSpeed = (iTarget - iCur) / 8;
                        iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
                        if (iCur == iTarget) {
                            clearInterval(obj.timer);
                            if(isDetail){
                                canMoveDetailBox=true;
                            }
                            
                        } else {
                            if (attr == 'opacity') {
                                obj.style.filter = 'alpha(opacity:' + (iCur + iSpeed) + ')';
                                obj.style.opacity = (iCur + iSpeed) / 100;
                            } else {
                                obj.style[attr] = iCur + iSpeed + 'px';
                            }
                            canMoveDetailBox=false;
                        }
                    }, 30)
                };
                function getStyle(obj, attr) {
                    if (obj.currentStyle) {
                        return obj.currentStyle[attr];
                    } else {
                        return getComputedStyle(obj, false)[attr];
                    }
                };
    

    相关文章

      网友评论

          本文标题:列表滚动方法

          本文链接:https://www.haomeiwen.com/subject/pofbuftx.html