标签: jquery-animate

jQuery动画backgroundColor

我试图在鼠标悬停时使用jQuery为backgroundColor中的更改设置动画.

我已经检查了一些例子,我似乎做对了,它适用于其他属性,如fontSize,但我使用backgroundColor和"无效属性"js错误.我正在使用的元素是div.

$(".usercontent").mouseover(function() {
    $(this).animate({ backgroundColor: "olive" }, "slow");
});
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

javascript jquery colors jquery-animate

324
推荐指数
11
解决办法
47万
查看次数

使用jQuery动画addClass/removeClass

我正在使用jQuery和jQuery-ui,并希望动画各种对象的各种属性.

为了解释这里的问题,我把它简化为一个div,当用户将鼠标悬停在它上面时,它会从蓝色变为红色.

我能够在使用时获得我想要的行为animate(),但是当这样做时,我动画的样式必须在动画代码中,因此与我的样式表分开.(见例1)

另一种方法是使用addClass(),removeClass()但我无法重新创建我可以获得的确切行为animate().(见例2)


例1

我们来看看我的代码animate():

$('#someDiv')
  .mouseover(function(){
    $(this).stop().animate( {backgroundColor:'blue'}, {duration:500});
  })
  .mouseout(function(){
    $(this).stop().animate( {backgroundColor:'red'}, {duration:500});
  });
Run Code Online (Sandbox Code Playgroud)

它显示我正在寻找的所有行为:

  1. 红色和蓝色之间平滑动画.
  2. 当用户快速将鼠标移入和移出div时,没有动画"过度".
  3. 如果用户在动画仍在播放时将鼠标移出/移入,则在当前"中途"状态和新"目标"状态之间正确缓解.

但是由于样式更改是定义的,animate()我必须更改那里的样式值,并且不能只指向我的样式表.定义样式的"碎片"真的让我困扰.


例2

这是我目前使用的最佳尝试addClass()removeClass(请注意,要使动画工作,您需要jQuery-ui):

//assume classes 'red' and 'blue' are defined

$('#someDiv')
  .addClass('blue')
  .mouseover(function(){
    $(this).stop(true,false).removeAttr('style').addClass('red', {duration:500});
  })
  .mouseout(function(){
    $(this).stop(true,false).removeAttr('style').removeClass('red', {duration:500});
  });
Run Code Online (Sandbox Code Playgroud)

这显示了我原始要求的属性1.和2.但是3不起作用.

我明白这个的原因:

当动画addClass()removeClass()jQuery为元素添加临时样式,然后递增适当的值,直到它们达到提供的类的值,然后才实际添加/删除类.

因此,我必须删除style属性,否则如果动画中途停止,则样式属性将保留并永久覆盖任何类值,因为标记中的样式属性比类样式具有更高的重要性.

但是,当动画完成一半时,它还没有添加新类,因此使用此解决方案,当用户在动画完成之前移动鼠标时,颜色会跳转到上一个颜色.


我理想的是能够做到这样的事情:

$('#someDiv')
  .mouseover(function(){
    $(this).stop().animate( getClassContent('blue'), {duration:500});
  })
  .mouseout(function(){
    $(this).stop().animate( getClassContent('red'), …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery jquery-ui jquery-animate

219
推荐指数
5
解决办法
32万
查看次数

使用jQuery将元素动画化为自动高度

我想要动画<div>从高200pxauto高.我似乎无法让它工作.有谁知道怎么样?

这是代码:

$("div:first").click(function(){
  $("#first").animate({
    height: "auto"
  }, 1000 );
});
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery jquery-animate

166
推荐指数
10
解决办法
17万
查看次数

jQuery .scrollTop(); +动画

单击按钮时,我将页面设置为滚动到顶部.但首先我使用if语句来查看页面顶部是否未设置为0.然后,如果它不是0,我会动画页面滚动到顶部.

var body = $("body");
var top = body.scrollTop() // Get position of the body

if(top!=0)
{
  body.animate({scrollTop:0}, '500');
}
Run Code Online (Sandbox Code Playgroud)

现在棘手的部分是在页面滚动到顶部之后动画一些东西.所以我的下一个想法是,找出页面位置是什么.所以我用console log来查找.

console.log(top);  // the result was 365
Run Code Online (Sandbox Code Playgroud)

这给了我一个365的结果,我猜这是我在滚动到顶部之前的位置编号.

我的问题是如何将位置设置为0,以便我可以添加另一个在页面为0时运行的动画?

谢谢!

jquery scrolltop jquery-animate

166
推荐指数
6
解决办法
66万
查看次数

在页面加载时滚动到ID的动画

我想在页面加载时将滚动设置为特定ID.我做了很多研究并遇到了这个问题:

$("html, body").animate({ scrollTop: $('#title1').height() }, 1000);
Run Code Online (Sandbox Code Playgroud)

但这似乎从ID和动画到页面顶部开始?

HTML(位于页面的一半)很简单:

<h2 id="title1">Title here</h2>
Run Code Online (Sandbox Code Playgroud)

jquery scroll jquery-animate

121
推荐指数
3
解决办法
30万
查看次数

使用jquery.animate()的CSS旋转交叉浏览器

我正在创建一个跨浏览器兼容的旋转(ie9 +),我在jsfiddle中有以下代码

$(document).ready(function () { 
    DoRotate(30);
    AnimateRotate(30);
});

function DoRotate(d) {

    $("#MyDiv1").css({
          '-moz-transform':'rotate('+d+'deg)',
          '-webkit-transform':'rotate('+d+'deg)',
          '-o-transform':'rotate('+d+'deg)',
          '-ms-transform':'rotate('+d+'deg)',
          'transform': 'rotate('+d+'deg)'
     });  
}

function AnimateRotate(d) {

        $("#MyDiv2").animate({
          '-moz-transform':'rotate('+d+'deg)',
          '-webkit-transform':'rotate('+d+'deg)',
          '-o-transform':'rotate('+d+'deg)',
          '-ms-transform':'rotate('+d+'deg)',
          'transform':'rotate('+d+'deg)'
     }, 1000); 
}
Run Code Online (Sandbox Code Playgroud)

CSS和HTML非常简单,仅用于演示:

.SomeDiv{
    width:50px;
    height:50px;       
    margin:50px 50px;
    background-color: red;}

<div id="MyDiv1" class="SomeDiv">test</div>
<div id="MyDiv2" class="SomeDiv">test</div>
Run Code Online (Sandbox Code Playgroud)

使用时旋转有效,使用时.css()无效.animate(); 为什么这样,有没有办法解决它?

谢谢.

css jquery rotation jquery-animate

79
推荐指数
3
解决办法
20万
查看次数

使用jQuery为box-shadow制作动画的正确方法

使用jQuery 为box-shadow属性设置动画的正确语法是什么?

$().animate({?:"0 0 5px #666"});
Run Code Online (Sandbox Code Playgroud)

jquery css3 jquery-animate box-shadow

74
推荐指数
3
解决办法
7万
查看次数

在jQuery中旋转Div元素

试图旋转div元素......这可能是DOM亵渎,它可能与canvas元素一起工作吗?我不确定 - 如果有人对这个如何起作用或为什么不起作用有任何想法,我很想知道.谢谢.

ajax jquery dom canvas jquery-animate

59
推荐指数
4
解决办法
12万
查看次数

jquery动画背景位置

我似乎无法让这个工作.

$('#product_family_options_dd').animate({
  height: '300px',
  width: '900px',
  backgroundPosition: '-20px 0px',          
},
Run Code Online (Sandbox Code Playgroud)

高度和宽度有活力但不是背景.

jquery background-position jquery-animate

59
推荐指数
6
解决办法
14万
查看次数

你如何同时淡化和动画?

使用jQuery我正在创建一个基本的"工具提示"动画,以便工具提示将出现在一个小动画中,在该动画中它会淡入视图并垂直移动.

到目前为止我有这个:

$('.tooltip').fadeIn('slow');
$('.tooltip').animate({ top: "-10px" }, 'slow');
Run Code Online (Sandbox Code Playgroud)

这样做或这样做:

$('.tooltip').fadeIn('slow').animate({ top: "-10px" }, 'slow');
Run Code Online (Sandbox Code Playgroud)

动画将一次运行一个,首先是淡入淡出,然后是垂直动画.有没有办法让它同时做到这两件事?

jquery effects fadein jquery-animate

51
推荐指数
3
解决办法
11万
查看次数