gpt4 book ai didi

javascript - 使用 jQuery .css() 设置透视原点

转载 作者:太空宇宙 更新时间:2023-11-04 13:05:12 24 4
gpt4 key购买 nike

我想用 jQuery 动态设置 div 的 perspective-origin 的 css 值。它是一个具有动态顶部和左侧的绝对 div(弹出窗口)(取决于窗口大小、滚动等...)。

当我打开弹出窗口时,我想用 css 做一个动画变换:translateZ(-150px);但是我必须将透视原点设置为弹出窗口的中心。

在 javacript 中我做了以下代码

center: function () {

var $popup = this.$( '.popup' );
var $popupOverlay = this.$( '.popup-overlay' );
var wWidth = $( window ).width();
var wHeight = $( window ).height();
var dHeight = $( document ).height();
var popupWidth = $popup.width();
var popupHeight = $popup.height();

// Popup centered in the window at the scroll position
var popupTop = ( wHeight / 2 ) - ( popupHeight / 2 ) + $( document ).scrollTop();
var popupLeft = ( wWidth / 2 ) - ( popupWidth / 2 );

// If the popup height bigger than window height then the popup is not centered in the window but sticked at top
if ( popupHeight > wHeight ) {
popupTop += ( popupHeight - wHeight ) / 2;
}

// Set popupOverlay with and height as the document
$popupOverlay.width( wWidth );
$popupOverlay.height( dHeight );

// Set calculated top and left offset to the popup
$popup.css( {
'left': popupLeft,
'top': popupTop
} );

// Now calculate the transform-origin center of the popup
var xPos = popupLeft + popupWidth / 2 + 'px';
var yPos = popupTop + popupHeight / 2 + 'px';
var xyPos = xPos + ' ' + yPos;
console.log(xyPos);

// Set calculated transform-origin to the parent

this.$( '.popup-container' ).css( {
'perspective-origin': xyPos
} );
}

console.log xyPos 返回 538.5px 3024.5px 这样应该可以工作...

当我检查 .popup-container 时,我没有看到 perspective-origin 集。

有关信息,我已经尝试设置 -webkit-perspective-origin 但也没有用。

Jquery .css() 方法是否处理透视原点?

预先感谢您的回答。

最佳答案

jQuery .css() 方法确实处理透视原点。有关此功能是否有效的快速引用,请检查源代码,您将看到通过 style=""

设置的透视原点

http://jsfiddle.net/remix1201/d3hnpsgz/

HTML:

<div class="popup">This is a div class named popup.</div>

JS: (jQuery)

var xypos = "10px 20px"
$(".popup").css("perspective-origin", xypos);
$(".popup").css("color", "blue");

如果您想制作 fiddle 来实现您的功能,那么我们可以更好地了解您的脚本到底出了什么问题。

Reference Image Showing Perspective Origin Being Set

关于javascript - 使用 jQuery .css() 设置透视原点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25182274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com