怎么说,使用jQuery将元素从初始位置向侧面滑动几个像素?我知道有一个animate()函数,但我不知道如何使用它。 提示,教程将不胜感激。
修改
我现在正尝试在鼠标悬停时更改元素的背景颜色(我最终还想交换背景图像,但现在不是这样...)
我目前正在使用以下代码。怎么了? (.link是指一堆元素的类)
//light up links on mouseover
$(".link").mouseover(function(event){
$(this).animate({'color' : '#000099'}, "fast");
});
//dim link on mouseout
$(".link").mouseout(function(event){
$(this).animate({'color' : '#efefef'}, "fast");
});
答案 0 :(得分:3)
首先,请阅读animate
的{{3}}。
然后,您必须定义要移动的元素,以便通过CSS或jQuery将position
属性设置为relative
或absolute
。
如果您将其设置为relative
,则只需提供要移动它的像素数量:
// Will move #element right 10 pixels in 500 milliseconds
$('#element').animate({
left: 10px
}, 500);
如果选择绝对定位,则必须首先使用.offset().left
计算元素的起始位置,然后将所需的像素数量添加到该位置,然后设置为该位置的动画。例如:
// Will move #element right 10 pixels in 500 milliseconds
$('#element').animate({
left: $('#element').offset().left + 10
}, 500);
如果#元素的父元素静态定位(否则offset()。left与绝对左值不匹配),这是有效的。
答案 1 :(得分:1)
对于彩色动画,您需要使用jQuery color插件。
导入jQuery Color插件时,可以使用animate()
为颜色设置动画。
答案 2 :(得分:0)
在考虑位置动画时,你需要记住你还在玩CSS。因此,在您想要向左滑动一点的情况下,您将需要调整左侧边距(或者可能根据您现有的样式和布局向右侧添加填充)。
例如:
$("#myElement").click(function(){
$(".block").animate({"left": "-=50px"}, "slow");
});
This site有一些关于基本动画的有用内容,当然还有实际的jQuery documentation。
答案 3 :(得分:0)
我真的很喜欢这个网站,它是关于jQuery的一个很好的追求