EDIT: Я решил его с этим: (Спасибо всем, кто ответил)Можно ли центрировать это?
var intDuration = 50;
setInterval(
function(){
$('#image').animate({"margin-left": "-=0.05%", "margin-top": "-=0.05%", "width": "+=0.1%"}, 'slow');
},
intDuration
);
Так что я JavaScript, который добавляет 0,1% ширины каждые 50 мс, единственная проблема состоит в том, что она становится uncentered после нескольких секунд (поскольку это добавляет ширину). Есть ли какое-либо решение для этого через javascript/css?
Вот JavaScript:
var intDuration = 50;
setInterval(
function(){
$('#image').animate({"width": "+=0.1%"},'slow');
},
intDuration
);
Вот мой CSS: (К сожалению, если он отформатирован страшно или много вещей являются избыточными)
.image {
text-align: center;
vertical-align: middle;
background: #000;
}
.image img {
width: 1%;
position: fixed;
top: 50%;
left: 50%;
margin-top: -50px;
margin-left: -20px;
}
Вот мой HTML:
<div class="image">
<image src="image.png" id='image'/>
JSFiddler: http://jsfiddle.net/Zane_/eERUA/
Я предлагаю вам никогда не использовать отрицательные позиции пикселей, как вы делали в margin-top: -50 px; –
:/Это казалось единственным способом заставить его «оказаться» сфокусированным. – Joe
есть причина, по которой вы используете setInterval с '.animate', когда вы можете просто установить нужную ширину конца и длительность в' .animate' –