css transform rotate 不影响子元素

直接获取不到rotate角度

console.log($("#mapid" + element).parent("div").css("transform"));

输出为
在这里插入图片描述
解决方法:

var nowDeg=0;
if($("#mapid" + element).parent("div").css("transform")!='none'){
 	var values = $("#mapid" + element).parent("div").css("transform").split("(")[1].split(")")[0].split(",");
    var a = values[0];
    var b = values[1];
    var c = values[2];
    var d = values[3];
    nowDeg = this.getmatrix(a, b, c, d);

将matrix转换为角度的方法

getmatrix(a, b, c, d) {
      var aa = Math.round((180 * Math.asin(a)) / Math.PI);
      var bb = Math.round((180 * Math.acos(b)) / Math.PI);
      var cc = Math.round((180 * Math.asin(c)) / Math.PI);
      var dd = Math.round((180 * Math.acos(d)) / Math.PI);
      var deg = 0;
      if (aa == bb || -aa == bb) {
        deg = dd;
      } else if (-aa + bb == 180) {
        deg = 180 + cc;
      } else if (aa + bb == 180) {
        deg = 360 - cc || 360 - dd;
      }
      return deg >= 360 ? 0 : deg;
    },

在子元素中用负的角度抵消旋转的角度

$("#mapid" + element).parent("div").append("<img src='" +require("@/assets/images/gong.png") + "' style='position:absolute;left:0px;right:0px;width:20px;height:20px;top:0;bottom:0;margin: auto;margin-left: auto;margin-right: auto;transform:rotate(-"+nowDeg+"deg);'/>"); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值