Javascript 尝试根据变量值更改要播放的动画

Javascript 尝试根据变量值更改要播放的动画,javascript,jquery,html,css,Javascript,Jquery,Html,Css,所以我尝试创建一个使用转换的div,因为这些转换在Chrome中效果最好。我正在使用一个名为Animo.js的插件,该插件使用.css类来使用jquery制作动画,但我似乎无法正确使用代码。我不希望使用任何类型的类切换或jquery切换 代码示例 $(document).ready(function() var $hTog = 0 $('#home').click(function() { if( $hTog.val() == 0) { $('#hSlid

所以我尝试创建一个使用转换的div,因为这些转换在Chrome中效果最好。我正在使用一个名为Animo.js的插件,该插件使用.css类来使用jquery制作动画,但我似乎无法正确使用代码。我不希望使用任何类型的类切换或jquery切换

代码示例

$(document).ready(function()


var $hTog = 0


$('#home').click(function()
{
    if( $hTog.val() == 0)
    {
        $('#hSlider').animo({animation: 'hGrow', iterate: 1, duration: 10, keep: true, timing: 'linear'});
        $hTog.val() == 1;
    };
    else
    {
        $('#hSlider').animo({animation: 'hShrink', iterate: 1, duration: 10, keep: true, timing: 'linear'});
        $hTog.val() == 0;
    };
})
})
提前感谢各位。

您正在引用.val(),但您为$hTog赋值为0,没有属性。试试这个:

$(document).ready(function() {
  var hTog = 0
  $('#home').click(function() {
    if (hTog === 0) {
      $('#hSlider').animo({animation: 'hGrow', iterate: 1, duration: 10, keep: true, timing: 'linear'});
      hTog = 1;
    } 
    else {
      $('#hSlider').animo({animation: 'hShrink', iterate: 1, duration: 10, keep: true, timing: 'linear'});
      hTog = 0;
    }
  });
});

您可以在代码中执行以下几项操作:

$(document).ready(function(){ // the '{' not there add this
    var $hTog = 0;
    $('#home').click(function(){
       if( $hTog == 0){
          $('#hSlider').animo({animation: 'hGrow', iterate: 1, duration: 10, keep: true, timing: 'linear'});
          $hTog = 1;
       }else{
          $('#hSlider').animo({animation: 'hShrink', iterate: 1, duration: 10, keep: true, timing: 'linear'});
          $hTog = 0;
       }
   });
});

  • 从if条件中删除
    .val()
  • 删除
    来自关闭if条件和else部分
  • 同样,在
    .animo()
    方法运行之后,通过删除
    .val()
    更新var的值,并且您不需要
    ==
    来更新值

  • 您是否尝试过删除
    .val()
    ?此外,您还需要在
    ready()
    函数的末尾添加一个花括号。非常感谢!这很有效。我想这只是语法问题。还在学习。