Jquery Animate无法运行但运行控制台

时间:2015-03-09 03:28:09

标签: jquery console jquery-animate

对不起,我不会说英语,请原谅。我有对象'window.userInterface.filmMakinesi'。我这个对象运行控制台没问题。但是当运行我的javascript文件时会出现问题。不工作。有趣。

    window.userInterface.filmMakinesi = function(control) {

        controlBox                  = [];
        controlBox["ileri"]     = {dinamikCSS: "top",operator:"-"};
        controlBox["geri"]      = {dinamikCSS: "bottom",operator:"+"};

        secim       = controlBox[control].dinamikCSS;
        operator    = controlBox[control].operator;
        height      = parseInt($("section.open").height());
        /*
        secim : top;
  operator: -
  height: 270;
  */
        $("div#filmMakinesi").animate({ secim : operator+height+"px"},600,"swing"); 
    }
window.userInterface.filmMakinesi("geri");

不工作但是如何运作。字符串而不是尝试我写的值。

    window.userInterface.filmMakinesi = function(control) {

        controlBox                  = [];
        controlBox["ileri"]     = {dinamikCSS: "top",operator:"-"};
        controlBox["geri"]      = {dinamikCSS: "bottom",operator:"+"};

        secim       = controlBox[control].dinamikCSS;
        operator    = controlBox[control].operator;
        height      = parseInt($("section.open").height());

        //                              \/\/\/

        $("div#filmMakinesi").animate({ "top" : operator+height+"px"},600,"swing"); 
    }
window.userInterface.filmMakinesi("geri");

1 个答案:

答案 0 :(得分:1)

您需要创建一个对象,以便使用[]表示法允许使用变量secim作为动态属性。

var animateObject = {};
animateObject[secim] = operator+height+"px";
$("div#filmMakinesi").animate(animateObject ,600,"swing"); 

您不能以这种方式创建属性foo

   var myVariable = 'foo';
   var object = { myVariable :'some value'};
   console.log(object.foo) // returns undefined
   console.log(object.myVariable ) // returns 'some value'