百度有啊鼠标移上去图片位置动态改变效果

呵呵,仔细找找就把相关的代码找出来了,核心就是JumpObj类了,项目中有类似需求,直接拿过来用就行了,当然,版权归baidu,:)

店铺推荐商品

回到页首

// 百度原有的JumpObj,拿过来就用了
     function  JumpObj(elem, range, startFunc, endFunc) {

        
var  curMax  =  range  =  range  ||   6 ;
        startFunc 
=  startFunc  ||   function (){};
        endFunc 
=  endFunc  ||   function (){};
        
var  drct  =   0 ;
        
var  step  =   1 ;

        init();

        
function  init() { elem.style.position  =   ' relative ' ;active() }
        
function  active() { elem.onmouseover  =   function (e) { if ( ! drct)jump()} }
        
function  deactive() { elem.onmouseover  =   null  }

        
function  jump() {
            
var  t  =  parseInt(elem.style.top);
            
if  ( ! drct) motionStart();
            
else  {
                
var  nextTop  =  t  -  step  *  drct;
                
if  (nextTop  >=   - curMax  &&  nextTop  <=   0 ) elem.style.top  =  nextTop  +   ' px ' ;
                
else   if (nextTop  <   - curMax) drct  =   - 1 ;
                
else  {
                    
var  nextMax  =  curMax  /   2 ;
                    
if  (nextMax  <   1 ) {motionOver(); return ;}
                    curMax 
=  nextMax;
                    drct 
=   1 ;
                }
            }
            setTimeout(
function (){jump()},  200   /  (curMax + 3 +  drct  *   3 );
        }

        
function  motionStart() {
            startFunc.apply(
this );
            elem.style.top
= ' 0 ' ;
            drct 
=   1 ;
        }

        
function  motionOver() {
            endFunc.apply(
this );
            curMax 
=  range;
            drct 
=   0 ;
            elem.style.top 
=   ' 0 ' ;
        }

        
this .jump  =  jump;
        
this .active  =  active;
        
this .deactive  =  deactive;
    }
    
    
function  MyInit()
    {
        
var  range  =   6 ;
        
// Baidu原有的写法,效果同Jquery的$(".img"),替换掉
         // var elements = Dom.getElementsByClassName('img', "recommend-zone");
        
        
// Jquery的简洁写法
        $( " .img " ).each( function (){
           
new  JumpObj( this , range);
        }); 

        
// 常规写法
//
        var elements = $(".img");
//
        for (var i = 0; i < elements.length; i++) {
//
            new JumpObj(elements[i], range);
//
        }
    }
    MyInit();

 


百度有啊鼠标移上去图片位置动态改变效果例子下载

转载于:https://www.cnblogs.com/stu-acer/archive/2009/01/01/1366610.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值