用戶資料選項卡


最近在項目中用到了一個類似於微博的用戶資料選項卡的功能,其實就是計算8個位置的坐標點

var screenW = $(window).width(),

  screenH = $(window).height(),

  domL = dom.offset().left,

  domT = dom.offset().top,

  domW = dom.outerWidth(),

  domH = dom.outerHeight(),

  usercardW = $("#usercard").outerWidth(),

  usercardH = $("#usercard").outerHeight(),

  scrollL = document.documentElement.scrollLeft || document.body.scrollLeft || 0,

  scrollT = document.documentElement.scrollTop|| document.body.scrollTop || 0;

if(domL + scrollL < (screenW - 1000)/2 + 200){

  if(screenH /2 < domT - scrollT){

     return {top: domT + domH - usercardH + 'px', left : domL + domW + 'px'}

  }else{

     return {top: domT + 'px', left : domL + domW + 'px'}

  }

}else if(domL + scrollL > screenW/2 + 200){

    if(screenH /2 < domT - scrollT){

     return {top: domT + domH - usercardH + 'px', left : domL - usercardW + 'px' }

  }else{

    return {top: domT + 'px', left : domL - usercardW + 'px'}

  }

}else{

   if(screenH /2 < domT - scrollT){

    if(domL + scrollL < screenW/2){

       return {top: domT - usercardH + 'px', left : domL + 'px'}

    }else{

       return {top: domT - usercardH + 'px', left : domL + domW - usercardW + 'px'}

    }

  }else{

     if(domL + scrollL < screenW/2){

      return {top: domT + domH + 'px', left : domL + 'px'}

    }else{

      return {top: domT + domH + 'px', left : domL + domW - usercardW + 'px'

    }

  }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM