jquery从屏幕中心点开始刻度div的高度和宽度

时间:2011-09-12 05:35:23

标签: jquery

我正在制作自定义幻灯片放映的情况。为此,我需要创建一个div元素并附加到body。我也使用屏幕宽度和高度将其置于屏幕中心,但我无法从屏幕的中心点进行div刻度。

我需要的是,我创建div具有0px高度和0px宽度,在这种状态下,它需要缩放到我将要附加图像的大小。所以,虽然它得到图像大小(我保持在数组中),它需要缩放数组提供的高度和宽度。但它应该从屏幕中心开始。

如何从屏幕中心实现div比例?

$('#slideHolder').appendTo('body').css({border:'1px solid red'});
           var getHCenter = ($(window).width() - $('#slideHolder').outerWidth())/2;
           var getVCenter = ($(window).height() - $('#slideHolder').outerHeight())/2;
           $('#slideHolder').css({left:getHCenter,top:getVCenter}).animate({height:$('#slideHolder').outerHeight()+'px',width:$('#slideHolder').outerWidth()+'px'},100).hide();

这就是我正在使用的功能。但是缩放不是在屏幕中心的开始和结束。任何好的想法都可以扩展以及定位图像中心吗?

1 个答案:

答案 0 :(得分:2)

哟可以改为使用MINUS保证金。

       var getWidth = $('#slideHolder').outerWidth())/2;
       var getHeight = $('#slideHolder').outerHeight())/2;

然后设置元素:

Left: 50%;
Top: 50%;
Margin: -getHeight 0 0 -getWidth

使用:

$('#slideHolder').css('left':'50%','top':'50%','margin':'-'+getHeight+' 0 0 -'getWidth);

它的作用是从左侧和顶部发送50%,然后给出#slideHolder的负边距 - 使其从顶部和左侧居中:)

修改

猜猜这就是你想要的?

http://jsfiddle.net/V5KLa/