【问题标题】:Transform orgin not being implemented转换原点未实施
【发布时间】:2021-03-16 22:14:04
【问题描述】:

尝试转换图像比例(缩放)但将其保持在其父级左侧和顶部 div 内,因此仅尝试将其向下和向右转换。设置转换原点似乎不起作用,我错过了什么?

以下代码在每次单击按钮时缩放图像,但将左侧和顶部推到父 div 之外。

 $('element').click(function{
   $('#element').css({'transform':'scale(' + scale + ')' });
   $('#element').css({'transform-orgin':'top left'});
})

<div style "max-wdith:1080px; height: 700px; overflow-x:scroll; overflow-y:scroll">
   <img id="element" src=" src="https://images.techhive.com/images/article/2017/03/castle_moat-100714623-large.jpg" " class="img-flud">
</div>

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    你可以试试下面的代码

    var x = 400 + 'px';
    var y = 300 + 'px';
    
    $('#element').css({
        'transform-origin':         x + ' ' + y + ' 0px',
        '-webkit-transform-origin': x + ' ' + y + ' 0px'
    });
    

    【讨论】:

      【解决方案2】:

      更新答案!

      const btn = document.querySelector('button');
      
      function zoomIn(e) {
        const scale = 0.1;
        const img = document.querySelector('#my-image');
        $('#my-image').css({transformOrigin: "top left", transform: 'scale(' + scale + ')'});
      }
      
      btn.addEventListener('click', zoomIn);
      div {
        width: 400px;
        height: 400px;
        border: 1px solid black;
        overflow: hidden;
        float: left;
      }
      
      div > img {
        width: 100%;
      }
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <div>
        <img id="my-image" src="https://images.techhive.com/images/article/2017/03/castle_moat-100714623-large.jpg" />
      </div>
      <button>Zoom In</button>

      【讨论】:

      • 我如何在 jquery 中设置transform-orgin,就像你拥有它一样?我已经在 jquery 中尝试了上述语法,就像您在 css 中设置一样,但它不起作用
      • 我试过$('#element').css({'transform-orgin':'left top'});,每次点击按钮时,图像仍然会滚动到页面外
      • 嗨@KyleLaster,我认为你没有得到预期的结果,因为“transform-origin”与css“transform”属性一起工作。使用正确的属性更新了答案。
      • 我目前已经设置了转换,并且在每个按钮上单击它都会缩放,但仍然没有保持左上角和顶部的位置。它仍然会转换并将左侧和顶部推出父 div。
      • 这很奇怪,请检查您使用的 jQuery 版本,尝试使用现代版本。
      猜你喜欢
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-04
      • 1970-01-01
      • 2023-02-24
      • 2015-10-13
      相关资源
      最近更新 更多