• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

求助:只能出去不能回来,top值只能停在-25,可能是函数调用问题,但我不知

move.js代码如下:



function startMove(obj,json,fn){
        var flag=true;
clearInterval(obj.timer);
obj.timer=setInterval(function(){
        for (var attr in json)
        {
        //去当前值
        var icur=0;
        if(attr=='opacity'){
                 icur=Math.round(parseFloat(getStyle(obj,attr))*100);
        }else{
         icur=parseInt(getStyle(obj,attr));
        }
        //计算速度
var speed=(json[attr]-icur)/8;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
//检测停止
if(icur!=json[attr]){
        flag=false;


}
        if(attr=='opacity'){
                obj.style.filter='alpha(opacity:'+(icur+speed)+')';
                obj.style[attr]=(icur+speed)/100;
        }else{
        obj.style[attr]=icur+speed+'px';
}
}
if(flag){
        clearInterval(obj.timer);
        if(fn){
                fn();
        }
}
},30)
}
function getStyle(obj,attr){
                if(obj.currentStyle){
                        //IE
                        return obj.currentStyle[attr];
                }else{
                        //Firefox
                        return getComputedStyle(obj,false)[attr];
                }
        }
主页面代码如下:



taobao


*{
        margin:0;
        padding:0;
}
#move{
        width:600px;
        margin:10px auto;
        border:1px solid #ccc;
        background: #567;
}
#move a{
        display:inline-block;
        width:70px;
        height:80px;
        border:1px solid #ddd;
        border-radius:3px;
        background-color: #fff;
        text-align: center;
        margin:10px 17px;
        position: relative;
        padding-top: 40px;
        color:#9c9c9c;
        font-size: 12px;
        text-decoration: none;
        line-height: 25px;
        overflow: hidden;
}
p{
        overflow: hidden;
        display: inline-block;
        bottom: 0;
        position: absolute;
}
#move a i{
        position: absolute;
        top: 20px;
        left:0;
        display: inline-block;
        width:100%;
        text-align: center;
        filter: alpha(opacity:100);
        opacity: 1;
}
#move a:hover{
        color:#f00;
}
#move img{
        border:none;
}


<script type="text/javascript">
        window.onload=function(){
                var oMove=document.getElementById('move');
                var aList=oMove.getElementsByTagName('a');

                for(var i=0;i

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

有2个问题,1个建议;
JS上:var flag=true必须放到setInterval内,否则每次循环并不能初始化flag,flag就一直是false;
主页面代码的JS:onmouseover事件里最后一行opacity设置成100;透明度一直为0当然看不出效果了;

建议:
onmouseover替换成onmouseenter;
onmouseover会冒泡,当你鼠标移入触发,当鼠标慢慢移出来的时候,onmouseover事件还会触发一次;
替换成onmouseenter则不会冒泡;是否替换看自己需求,建议罢了

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!