第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

CSS Transform Rotate 3D - 懸停在卡片的每個角落

CSS Transform Rotate 3D - 懸停在卡片的每個角落

藍(lán)山帝景 2021-11-18 09:31:54
我正在嘗試使用 css 3d 旋轉(zhuǎn)來模擬當(dāng)鼠標(biāo)懸停在卡片上時按下它分為 4 個象限。左上、右上、左下、右下。我讓左上/右上工作,但無論我嘗試什么組合,我都無法讓底部效果與頂部一樣工作。知道如何使左下/右下角看起來正確,就像它們被向下推一樣,就像頂角看起來正確一樣?另外,如果在 css/js 中有更好的方法可以完全做到這一點,請讓我知道我只是第一次搞亂這些 css 轉(zhuǎn)換。我添加了陰影來嘗試幫助“推銷”底部被推入而頂部彈出的效果,但它看起來仍然是錯誤的??赡苤皇俏遥裁囱刍潄y的東西。function ThzhotspotPosition(evt, el, percent) {  var left = el.offset().left;  var top = el.offset().top;  if (percent) {    x = (evt.pageX - left) / el.outerWidth() * 100;    y = (evt.pageY - top) / el.outerHeight() * 100;  } else {    x = (evt.pageX - left);    y = (evt.pageY - top);  }  return {    x: Math.round(x),    y: Math.round(y)  };}$(".card").mousemove(function(e) {  var hp = ThzhotspotPosition(e, $(this), true); // true = percent | false or no attr = px  if (hp.x >= 50 && hp.y >= 50) {    $(this).removeClass(function(index, className) {      return (className.match(/(^|\s)roll-\S+/g) || []).join(' ');    }).addClass("roll-BR");  } else if (hp.x >= 50 && hp.y < 50) {    $(this).removeClass(function(index, className) {      return (className.match(/(^|\s)roll-\S+/g) || []).join(' ');    }).addClass("roll-TR");  } else if (hp.x < 50 && hp.y >= 50) {    $(this).removeClass(function(index, className) {      return (className.match(/(^|\s)roll-\S+/g) || []).join(' ');    }).addClass("roll-BL");  } else {    $(this).removeClass(function(index, className) {      return (className.match(/(^|\s)roll-\S+/g) || []).join(' ');    }).addClass("roll-TL");  }  $('#debug').text(hp.x + '%x' + ' ' + hp.y + '%y');});$(".card").hover(  function(e) {    //$( this ).addClass( "roll-left" );  },  function() {    $(this).removeClass(function(index, className) {      return (className.match(/(^|\s)roll-\S+/g) || []).join(' ');    });  });.card {    width: 100px;    height: 150px;    background: red;    position: relative;    transition: transform 1s;    transform-style: preserve-3d;}
查看完整描述

1 回答

?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗 獲得超7個贊

我假設(shè)你的 js 代碼是正確的(因為我在運(yùn)行它時沒有看到問題),只需調(diào)整一些 css。


function ThzhotspotPosition(evt, el, percent) {

  var left = el.offset().left;

  var top = el.offset().top;

  if (percent) {

    x = (evt.pageX - left) / el.outerWidth() * 100;

    y = (evt.pageY - top) / el.outerHeight() * 100;

  } else {

    x = (evt.pageX - left);

    y = (evt.pageY - top);

  }


  return {

    x: Math.round(x),

    y: Math.round(y)

  };

}


$(".card").mousemove(function(e) {

  var hp = ThzhotspotPosition(e, $(this), true); // true = percent | false or no attr = px


  if (hp.x >= 50 && hp.y >= 50) {

    $(this).removeClass(function(index, className) {

      return (className.match(/(^|\s)roll-\S+/g) || []).join(' ');

    }).addClass("roll-BR");

  } else if (hp.x >= 50 && hp.y < 50) {

    $(this).removeClass(function(index, className) {

      return (className.match(/(^|\s)roll-\S+/g) || []).join(' ');

    }).addClass("roll-TR");

  } else if (hp.x < 50 && hp.y >= 50) {

    $(this).removeClass(function(index, className) {

      return (className.match(/(^|\s)roll-\S+/g) || []).join(' ');

    }).addClass("roll-BL");

  } else {

    $(this).removeClass(function(index, className) {

      return (className.match(/(^|\s)roll-\S+/g) || []).join(' ');

    }).addClass("roll-TL");

  }


  $('#debug').text(hp.x + '%x' + ' ' + hp.y + '%y');

});



$(".card").hover(

  function(e) {

    //$( this ).addClass( "roll-left" );


  },

  function() {

    $(this).removeClass(function(index, className) {

      return (className.match(/(^|\s)roll-\S+/g) || []).join(' ');

    });

  }

);

.card {

  width: 200px;

  height: 280px;

  background: red;

  position: relative;

  transition: transform 1s;

  transform-style: preserve-3d;

}


/*the backside*/

.card:after{

  content:'';

  position:absolute;

  left:0;top:0;right:0;bottom:0;

  background: gray;

  transform: translateZ(-10px);

}


.card.roll-TL {

  transform: rotate3d(1, -1, 0, 20deg);

}


.card.roll-TR {

  transform: rotate3d(-1, -1, 0, -20deg);

}


.card.roll-BL {

  transform: rotate3d(-1, -1, 0, 20deg);

}


.card.roll-BR {

  transform: rotate3d(1, -1, 0, -20deg);

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="card">Testing</div>

<div id="debug"></div>


查看完整回答
反對 回復(fù) 2021-11-18
  • 1 回答
  • 0 關(guān)注
  • 261 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號