Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在屏幕中央调整绝对div_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何在屏幕中央调整绝对div

Javascript 如何在屏幕中央调整绝对div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我创建了一个带有小图像的页面,我想当它被点击时,然后在一个绝对div中打开大图像,这才是真正的工作。但当窗口显示页面底部时,我们会单击小图像,它会出现在屏幕顶部,我不喜欢它。我希望它每次都出现在屏幕中央,请在此页面中查看: 我的代码示例是: HTML代码: <!-- This is Div of Large Image and Background Shade --> <div class="BackgroudShade"></div> <div cl

我创建了一个带有小图像的页面,我想当它被点击时,然后在一个绝对div中打开大图像,这才是真正的工作。但当窗口显示页面底部时,我们会单击小图像,它会出现在屏幕顶部,我不喜欢它。我希望它每次都出现在屏幕中央,请在此页面中查看:

我的代码示例是:

HTML代码:

<!-- This is Div of Large Image and Background Shade -->
<div class="BackgroudShade"></div>
<div class="DivOfImage"><img class="LargeImage"/></div>
JQuery代码:


left
right
添加为
0
并使用
margin:0 auto

.DivOfImage {
    border: 8px solid #FFF;
    color:#FFF;
    background-color:#FFF;
    border-radius:10px;
    position:absolute;
}

这是为了使div水平居中而不是垂直居中。

添加为
0
,并使用
边距:0自动

.DivOfImage {
    border: 8px solid #FFF;
    color:#FFF;
    background-color:#FFF;
    border-radius:10px;
    position:absolute;
}

这是为了使div水平居中而不是垂直居中。

添加为
0
,并使用
边距:0自动

.DivOfImage {
    border: 8px solid #FFF;
    color:#FFF;
    background-color:#FFF;
    border-radius:10px;
    position:absolute;
}

这是为了使div水平居中而不是垂直居中。

添加为
0
,并使用
边距:0自动

.DivOfImage {
    border: 8px solid #FFF;
    color:#FFF;
    background-color:#FFF;
    border-radius:10px;
    position:absolute;
}

<>这是为了使div水平中心不是垂直中间的。

不需要使用所有的JS来计算并显示屏幕中间的图像。 您可以使用CSS设置样式和位置,然后使用JS隐藏/显示。你的位置:固定;然后你就可以更容易地定义屏幕上的位置了

试着这样做:

function LoadShowDiv () {
    $('.BackgroudShade').slideDown(800);   // shade of background will be visible
    $(".DivOfImage").show();               // Div of Large Image will be visible          
    // When Image loaded successful then set width,height and top,left of Large Image Div 
    // but i want set top,left when screen is scroll down to bottom of page
    // then show Div at middle of screen in every time
    $('.LargeImage').load(function() {     
       $('.DivOfImage').width($('.LargeImage').width());
       $('.DivOfImage').height($('.LargeImage').height());
       var LeftPostion = (WidthOfScreen - $('.LargeImage').width()) / 2;
       var TopPostion = (HeightOfScreen - $('.LargeImage').height()) / 2;
       $(".DivOfImage").offset({ top: TopPostion, left: LeftPostion});
       $('.LargeImage').show(1000);
    })
}

$('#SmallImage').click(function(){
    $('.LargeImage').attr('src','LargeImage.jpg');
    LoadShowDiv();
})

这将使图像处于屏幕的中心

不需要使用所有这些JS来计算并显示屏幕中间的图像。 您可以使用CSS设置样式和位置,然后使用JS隐藏/显示。你的位置:固定;然后你就可以更容易地定义屏幕上的位置了

试着这样做:

function LoadShowDiv () {
    $('.BackgroudShade').slideDown(800);   // shade of background will be visible
    $(".DivOfImage").show();               // Div of Large Image will be visible          
    // When Image loaded successful then set width,height and top,left of Large Image Div 
    // but i want set top,left when screen is scroll down to bottom of page
    // then show Div at middle of screen in every time
    $('.LargeImage').load(function() {     
       $('.DivOfImage').width($('.LargeImage').width());
       $('.DivOfImage').height($('.LargeImage').height());
       var LeftPostion = (WidthOfScreen - $('.LargeImage').width()) / 2;
       var TopPostion = (HeightOfScreen - $('.LargeImage').height()) / 2;
       $(".DivOfImage").offset({ top: TopPostion, left: LeftPostion});
       $('.LargeImage').show(1000);
    })
}

$('#SmallImage').click(function(){
    $('.LargeImage').attr('src','LargeImage.jpg');
    LoadShowDiv();
})

这将使图像处于屏幕的中心

不需要使用所有这些JS来计算并显示屏幕中间的图像。 您可以使用CSS设置样式和位置,然后使用JS隐藏/显示。你的位置:固定;然后你就可以更容易地定义屏幕上的位置了

试着这样做:

function LoadShowDiv () {
    $('.BackgroudShade').slideDown(800);   // shade of background will be visible
    $(".DivOfImage").show();               // Div of Large Image will be visible          
    // When Image loaded successful then set width,height and top,left of Large Image Div 
    // but i want set top,left when screen is scroll down to bottom of page
    // then show Div at middle of screen in every time
    $('.LargeImage').load(function() {     
       $('.DivOfImage').width($('.LargeImage').width());
       $('.DivOfImage').height($('.LargeImage').height());
       var LeftPostion = (WidthOfScreen - $('.LargeImage').width()) / 2;
       var TopPostion = (HeightOfScreen - $('.LargeImage').height()) / 2;
       $(".DivOfImage").offset({ top: TopPostion, left: LeftPostion});
       $('.LargeImage').show(1000);
    })
}

$('#SmallImage').click(function(){
    $('.LargeImage').attr('src','LargeImage.jpg');
    LoadShowDiv();
})

这将使图像处于屏幕的中心

不需要使用所有这些JS来计算并显示屏幕中间的图像。 您可以使用CSS设置样式和位置,然后使用JS隐藏/显示。你的位置:固定;然后你就可以更容易地定义屏幕上的位置了

试着这样做:

function LoadShowDiv () {
    $('.BackgroudShade').slideDown(800);   // shade of background will be visible
    $(".DivOfImage").show();               // Div of Large Image will be visible          
    // When Image loaded successful then set width,height and top,left of Large Image Div 
    // but i want set top,left when screen is scroll down to bottom of page
    // then show Div at middle of screen in every time
    $('.LargeImage').load(function() {     
       $('.DivOfImage').width($('.LargeImage').width());
       $('.DivOfImage').height($('.LargeImage').height());
       var LeftPostion = (WidthOfScreen - $('.LargeImage').width()) / 2;
       var TopPostion = (HeightOfScreen - $('.LargeImage').height()) / 2;
       $(".DivOfImage").offset({ top: TopPostion, left: LeftPostion});
       $('.LargeImage').show(1000);
    })
}

$('#SmallImage').click(function(){
    $('.LargeImage').attr('src','LargeImage.jpg');
    LoadShowDiv();
})

如果您希望在水平和垂直方向将图像置于整个屏幕的中心,并完全忽略网页上可以使用的其他元素,则这将使图像保持在屏幕的中心

.DivOfImage {
    border: 8px solid #FFF;
    color:#FFF;
    background-color:#FFF;
    border-radius:10px;
    position:absolute;
    left:0;
   right:0;
   margin:0 auto
}

这会将元素放置在用户屏幕的中心。

如果您希望将其水平和垂直放置在整个屏幕的中心,并完全忽略网页上的其他元素,则可以使用

.DivOfImage {
    border: 8px solid #FFF;
    color:#FFF;
    background-color:#FFF;
    border-radius:10px;
    position:absolute;
    left:0;
   right:0;
   margin:0 auto
}

这会将元素放置在用户屏幕的中心。

如果您希望将其水平和垂直放置在整个屏幕的中心,并完全忽略网页上的其他元素,则可以使用

.DivOfImage {
    border: 8px solid #FFF;
    color:#FFF;
    background-color:#FFF;
    border-radius:10px;
    position:absolute;
    left:0;
   right:0;
   margin:0 auto
}

这会将元素放置在用户屏幕的中心。

如果您希望将其水平和垂直放置在整个屏幕的中心,并完全忽略网页上的其他元素,则可以使用

.DivOfImage {
    border: 8px solid #FFF;
    color:#FFF;
    background-color:#FFF;
    border-radius:10px;
    position:absolute;
    left:0;
   right:0;
   margin:0 auto
}

这会将元素放置在用户屏幕的中心。

谢谢,我尝试过它有助于减少代码,但这不是我的解决方案,当我单击底部图像,然后在屏幕左侧或顶部div show时,请记住为图像的一半宽度和高度添加一个负边距,它应该很好地位于屏幕的中心谢谢,我试着它有助于减少代码,但这不是我的解决方案,当我单击底部图像,然后在屏幕的左侧或顶部显示div时,请记住为图像的一半宽度和高度添加一个负边距,它应该很好地位于屏幕的中心谢谢,我试着它有助于减少代码,但这不是我的解决方案,当我单击底部图像,然后在屏幕的左侧或顶部显示div时,请记住为图像的一半宽度和高度添加一个负边距,它应该很好地位于屏幕的中心谢谢,我尝试过它有助于减少代码,但这不是我的解决方案,当我点击底部图像,然后在屏幕的左侧或顶部显示div时,请记住为图像的一半宽度和高度添加一个负边距,它应该很好地位于屏幕的中心