Javascript jQuery设置元素向左移动的动画
我正在尝试设置元素移动的动画:Javascript jQuery设置元素向左移动的动画,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试设置元素移动的动画:left:0px,但似乎不起作用。我猜想问题在于元素不是绝对定位的,但是我如何使用动画来定位呢 fid: $(函数(){ var cheese=$('.ok').offset().top;//定义'hey'的顶部 // //当它到达页面的红色部分时设置动画 // $(窗口)。滚动(函数(){ 如果($(窗口).scrollTop()>=奶酪){ $('.ok').addClass('top'); $('.nice').hide().fadeIn().html('o
left:0px
,但似乎不起作用。我猜想问题在于元素不是绝对定位的,但是我如何使用动画来定位呢
fid:
$(函数(){
var cheese=$('.ok').offset().top;//定义'hey'的顶部
//
//当它到达页面的红色部分时设置动画
//
$(窗口)。滚动(函数(){
如果($(窗口).scrollTop()>=奶酪){
$('.ok').addClass('top');
$('.nice').hide().fadeIn().html('ok');
$(“.nice”).animate({
左:“0”
}, 600);
$('.nice').addClass('maybe');
}
否则{
$('.ok').removeClass('top');
$('.nice').removeClass('maybe');
$('.nice').html('Hey');
}
});
//
//此部分不依赖于滚动事件,负责在“.ok”div上更改悬停。
//
$('.ok')。悬停(函数(){
if(!$(this.hasClass(“top”))
$(this.addClass('proj-hover');
},函数(){
$(this.removeClass('proj-hover');
});
//
//单击时设置动画
//
$('.ok')。单击(函数(){
如果($(窗口).scrollTop()>=奶酪){
}
否则{
$(“body,html”).animate({
scrollTop:$('.other').offset().top
}, 600);
}
});
});代码>
*{
框大小:边框框;
}
正文,html{
填充:0;
保证金:0;
}
.分区{
高度:100vh;
宽度:100%;
背景:#6464FF;
}
.其他{
高度:1000px;
宽度:100%;
背景:#FF6161;
}
.好的{
位置:绝对位置;
底部:0;
左:50%;
左边距:-100px;
宽度:200px;
高度:50px;
线高:50px;
背景:黑色;
颜色:白色;
文本对齐:居中;
过渡:1s;
}
.顶{
位置:固定;
排名:0;
左:0;
过渡:.7s;
左边距:0px;
宽度:100%;
}
.项目悬停{
背景:白色;
颜色:黑色;
}
蓝先生{
背景:蓝色;
}
.很好{
转换:0s;
边际:0px;
}
嘿
不确定我是否理解你的问题。“ok”应该向左移动吗?
您已声明宽度:100%代码>在CSS类中top
。所以它已经离开了。移除它,它就会工作
或者您可能希望在.nice
类中:
position:absolute;
left:0; right:0;
margin: auto;
然后做一个
$(".nice").animate({
right:"100%"
}, 600);
要将文本向左移动(以文本对齐方式
属性为中心),必须更改容器的宽度。通过添加一些css并删除元素nice
的jquery动画,我用CSS3制作了动画:
.nice {
margin: 0px;
width: 100%;
transition: width .6s;
}
.maybe {
width: 0;
}
以下是完整的代码:
$(函数(){
var cheese=$('.ok').offset().top;//定义'hey'的顶部
//
//当它到达页面的红色部分时设置动画
//
$(窗口)。滚动(函数(){
如果($(窗口).scrollTop()>=奶酪){
$('.ok').addClass('top');
//$(“.nice”)。制作动画({
//宽度:“0%”
//}css('溢出','');
$('.nice').addClass('maybe');
}否则{
$('.ok').removeClass('top');
$('.nice').removeClass('maybe');
$('.nice').html('Hey');
}
});
//
//此部分不依赖于滚动事件,负责在“.ok”div上更改悬停。
//
$('.ok')。悬停(函数(){
if(!$(this.hasClass(“top”))
$(this.addClass('proj-hover');
},函数(){
$(this.removeClass('proj-hover');
});
//
//单击时设置动画
//
$('.ok')。单击(函数(){
如果($(窗口).scrollTop()>=奶酪){
}否则{
$(“body,html”).animate({
scrollTop:$('.other').offset().top
}, 600);
}
});
});代码>
*{
框大小:边框框;
}
身体,
html{
填充:0;
保证金:0;
}
.分区{
高度:100vh;
宽度:100%;
背景:#6464FF;
}
.其他{
高度:1000px;
宽度:100%;
背景:#FF6161;
}
.好的{
位置:绝对位置;
底部:0;
左:50%;
左边距:-100px;
宽度:200px;
高度:50px;
线高:50px;
背景:黑色;
颜色:白色;
文本对齐:居中;
过渡:1s;
}
.顶{
位置:固定;
排名:0;
左:0;
过渡:.7s;
左边距:0px;
宽度:100%;
}
.项目悬停{
背景:白色;
颜色:黑色;
}
蓝先生{
背景:蓝色;
}
.很好{
转换:0s;
边际:0px;
宽度:100%;
过渡:宽度为0.6s;
}
.也许吧{
宽度:0;
}
嘿
您正在尝试设置“跨度”的动画?你的代码中的
在哪里?我错了,我指的是段落。如果你不理解这个问题,请发表评论。