嗨,请看看我的网站,有问题的代码片段我必须集中我的图像,因为我从来没有运气与css-html方法。有时它会加载居中,有时它不会,请告诉我如何在页面加载时将图像居中。
<script type="text/javascript"> //Centering Script
$(document).ready(function () {
updateContainer();
$(window).resize(function() {
updateContainer();
});
});
function updateContainer() {
(function ($) {
$.fn.vAlign = function() {
return this.each(function(i){
var h = $(this).height();
var oh = $(this).outerHeight();
var mt = (h + (oh - h)) / 2;
$(this).css("margin-top", "-" + mt + "px");
$(this).css("top", "50%");
$(this).css("position", "absolute");
});
};
})(jQuery);
(function ($) {
$.fn.hAlign = function() {
return this.each(function(i){
var w = $(this).width();
var ow = $(this).outerWidth();
var ml = (w + (ow - w)) / 2;
$(this).css("margin-left", "-" + ml + "px");
$(this).css("left", "50%");
$(this).css("position", "absolute");
});
};
})(jQuery);
答案 0 :(得分:0)
要做到这一点,你有很多变种。在你的情况下,你可以这样做
<div style="
background: url('Assets/OrderSheet.png') center center no-repeat;
width: 100%;
height: 500px;
">
<a href="Assets/OrderSheet.xls">
</a>
</div>
答案 1 :(得分:0)
我为此使用CSS而不是JavaScript,但另一个故事。我想,回答你的问题。 pageLoad会优于.ready
答案 2 :(得分:0)
您正在使用$(document).ready()
,因此该功能在DOM
准备就绪时执行,但不一定所有图像都已加载,因此高度和宽度信息尚不可用,当您刷新页面,信息可用,您将获得所需的行为。
要解决此问题,请使用$(window).load()
,因此当页面上的所有内容都已完全加载时会执行此功能,并且可以使用宽度和高度等信息,并且您应该在页面第一次获得所期望的内容时加载。
或者,如果您需要继续使用$(document).ready()
,则需要明确指定图像等元素的尺寸,以便在加载DOM
时,浏览器已经知道尺寸而不是必须等待图像等元素完全加载。