jQuery将div设置为中心动画
我试图在视图端口的底部创建一个横幅,当页面加载时,该横幅将从右侧(屏幕外)动画化到中间。我正在测量窗口的高度,减去横幅的高度,将其放置在屏幕上的正确高度,并进行静态定位。然后,我尝试使用margin auto将横幅居中到父对象 目前,jQuery似乎没有一个工作。jQuery将div设置为中心动画,jquery,Jquery,我试图在视图端口的底部创建一个横幅,当页面加载时,该横幅将从右侧(屏幕外)动画化到中间。我正在测量窗口的高度,减去横幅的高度,将其放置在屏幕上的正确高度,并进行静态定位。然后,我尝试使用margin auto将横幅居中到父对象 目前,jQuery似乎没有一个工作。 Jsfiddle: 您正在使用top等将边距分配给试图定位的元素。请切换到使用left,然后尝试使用$(document).ready(function(){或just$(function(){)以确保dom元素可用 $(functi
Jsfiddle:
您正在使用top等将边距分配给试图定位的元素。请切换到使用
left
,然后尝试使用$(document).ready(function(){
或just$(function(){
)以确保dom元素可用
$(function () {
var windowHeight = $(window).height();
var bannerHeight = windowHeight - 80 + "px";
$('.create_banner').css({
top: bannerHeight
}).animate({
left: 100
});
});
您正在使用top等为试图定位的元素分配边距。切换到使用
left
并尝试使用$(document).ready(function(){
或just$(function(){
)以确保dom元素可用
$(function () {
var windowHeight = $(window).height();
var bannerHeight = windowHeight - 80 + "px";
$('.create_banner').css({
top: bannerHeight
}).animate({
left: 100
});
});
您正在使用top等为试图定位的元素分配边距。切换到使用
left
并尝试使用$(document).ready(function(){
或just$(function(){
)以确保dom元素可用
$(function () {
var windowHeight = $(window).height();
var bannerHeight = windowHeight - 80 + "px";
$('.create_banner').css({
top: bannerHeight
}).animate({
left: 100
});
});
您正在使用top等为试图定位的元素分配边距。切换到使用
left
并尝试使用$(document).ready(function(){
或just$(function(){
)以确保dom元素可用
$(function () {
var windowHeight = $(window).height();
var bannerHeight = windowHeight - 80 + "px";
$('.create_banner').css({
top: bannerHeight
}).animate({
left: 100
});
});
你可以用非常少的Javascript来完成所有这些。你只需要在元素中添加一个类来触发转换。只需使用CSS转换来完成小动画。我真的不明白为什么要使用静态定位。这甚至是
位置的默认值
在我的示例中,居中是通过定位和负左边距实现的。您将元素定位在左:50%
位置,然后将元素宽度的一半负边距放置在其上(从而使元素居中)。这显然只在您知道宽度的情况下起作用,在本例中就是这样做的
看看我的方法:
请记住,将元素推出屏幕的偏移值会影响动画计时
最重要的CSS部分:
.create_banner {
height: 80px;
width:920px;
z-index: 1200;
background-color:#000;
position:fixed;
bottom:0px; /* glue it to the bottom */
left:5000px; /* any value outside of the screen */
margin-left:-460px; /* width/2 = 920/2 */
-webkit-transition:left 2s; /* tell the element to transition the left value*/
-moz-transition:left 2s;
transition:left 2s;
}
.animate {
left:50%; /* where it should be afterwards */
}
你只需要很少的Javascript就可以完成所有这些。你只需要在元素中添加一个类来触发转换。只需使用CSS转换来制作小动画。我真的不明白你为什么要使用静态定位。这甚至是位置
的默认值
在我的示例中,居中是通过定位和负左边距实现的。您将元素定位在左:50%
位置,然后将元素宽度的一半负边距放置在其上(从而使元素居中)。这显然只在您知道宽度的情况下起作用,在本例中就是这样做的
看看我的方法:
请记住,将元素推出屏幕的偏移值会影响动画计时
最重要的CSS部分:
.create_banner {
height: 80px;
width:920px;
z-index: 1200;
background-color:#000;
position:fixed;
bottom:0px; /* glue it to the bottom */
left:5000px; /* any value outside of the screen */
margin-left:-460px; /* width/2 = 920/2 */
-webkit-transition:left 2s; /* tell the element to transition the left value*/
-moz-transition:left 2s;
transition:left 2s;
}
.animate {
left:50%; /* where it should be afterwards */
}
你只需要很少的Javascript就可以完成所有这些。你只需要在元素中添加一个类来触发转换。只需使用CSS转换来制作小动画。我真的不明白你为什么要使用静态定位。这甚至是位置
的默认值
在我的示例中,居中是通过定位和负左边距实现的。您将元素定位在左:50%
位置,然后将元素宽度的一半负边距放置在其上(从而使元素居中)。这显然只在您知道宽度的情况下起作用,在本例中就是这样做的
看看我的方法:
请记住,将元素推出屏幕的偏移值会影响动画计时
最重要的CSS部分:
.create_banner {
height: 80px;
width:920px;
z-index: 1200;
background-color:#000;
position:fixed;
bottom:0px; /* glue it to the bottom */
left:5000px; /* any value outside of the screen */
margin-left:-460px; /* width/2 = 920/2 */
-webkit-transition:left 2s; /* tell the element to transition the left value*/
-moz-transition:left 2s;
transition:left 2s;
}
.animate {
left:50%; /* where it should be afterwards */
}
你只需要很少的Javascript就可以完成所有这些。你只需要在元素中添加一个类来触发转换。只需使用CSS转换来制作小动画。我真的不明白你为什么要使用静态定位。这甚至是位置
的默认值
在我的示例中,居中是通过定位和负左边距实现的。您将元素定位在左:50%
位置,然后将元素宽度的一半负边距放置在其上(从而使元素居中)。这显然只在您知道宽度的情况下起作用,在本例中就是这样做的
看看我的方法:
请记住,将元素推出屏幕的偏移值会影响动画计时
最重要的CSS部分:
.create_banner {
height: 80px;
width:920px;
z-index: 1200;
background-color:#000;
position:fixed;
bottom:0px; /* glue it to the bottom */
left:5000px; /* any value outside of the screen */
margin-left:-460px; /* width/2 = 920/2 */
-webkit-transition:left 2s; /* tell the element to transition the left value*/
-moz-transition:left 2s;
transition:left 2s;
}
.animate {
left:50%; /* where it should be afterwards */
}
虽然这部分解决了问题,但关键是将div居中,这不能用静态值来完成。这就是我最初使用margin auto的原因。为什么不呢?您可以计算窗口的宽度,减去正在制作动画的div的宽度,然后除以2。这是新的left
。例如:800px window-400px div=200px/2=100px每边所需的空间。虽然这部分解决了问题,但关键是将div居中,这不能用静态值来完成。这就是我最初使用margin auto的原因。为什么不呢?您可以计算窗口的宽度,减去正在制作动画的div的宽度,然后进行除法by 2.这是新的左
。例如:800px窗口-400px div=200px/2=100px每侧需要的空间。虽然这部分解决了问题,但关键是将div居中,这不能用静态值实现。这就是我最初使用margin auto的原因。为什么不呢?您可以计算窗口的宽度>,减去正在设置动画的div的宽度,然后除以2。这是新的左侧。示例:800px窗口-400px div=200px/2=10