Javascript 互换时更换img(三种)

Javascript 互换时更换img(三种),javascript,jquery,css,html,intel-xdk,Javascript,Jquery,Css,Html,Intel Xdk,我有两个按钮(微笑和微笑)。 1.当我点击取消飞行时,img“飞”到左侧。 2.当我点击微笑时,img会“飞”到右边。 但我需要做以下几点: 当我点击img并将其拖动到左侧时,img+描述应该“飞”到左侧并显示js警报-“你不喜欢这个” 当我点击img并将其向右拖动时,img+描述应该“飞”到右侧,并显示一个警报-“您喜欢这个” 当我点击img并将其拖到img下时,img+描述应该“飞”下来并显示一个警报-“您将此添加到收藏夹” 这应该在javascript/html5/css中完成。 它将使用

我有两个按钮(微笑和微笑)。
1.当我点击取消飞行时,img“飞”到左侧。
2.当我点击微笑时,img会“飞”到右边。

但我需要做以下几点:

当我点击img并将其拖动到左侧时,img+描述应该“飞”到左侧并显示js警报-
“你不喜欢这个”

当我点击img并将其向右拖动时,img+描述应该“飞”到右侧,并显示一个警报-
“您喜欢这个”

当我点击img并将其拖到img下时,img+描述应该“飞”下来并显示一个警报-
“您将此添加到收藏夹”

这应该在javascript/html5/css中完成。 它将使用intelXDK到android平台进行编译

HTML

<div id="food"></div>

            <div id="control">

              <div class="button no">
                <a href="#" class="trigger"></a>
              </div>

              <div class="button yes">
                <a href="#" class="trigger"></a>
              </div>

            </div>

</div>

可以找到当前的工作版本。

自从我使用jquery以来已经有一段时间了-让我知道这是否是一种糟糕的处理方式,以便我可以更新/删除它

您已经实现了animationEnd处理程序

var App = {
  yesButton: $('.button.yes .trigger'),
  noButton: $('.button.no .trigger'),
  blocked: false,
  like: function(liked){
    var animate = liked ? 'animateYes' : 'animateNo';
    var self = this;
    if (!this.blocked) {
      this.blocked = true;           
      $('.foodChoose').eq(0).addClass(animate).one(animationEndEvent, function() {
        $(this).remove();
        Food.add();
        self.blocked = false;
      });
    }
  }
};
只需将所需的参数传递给处理程序,例如

$('.foodChoose').eq(0).addClass(animate).one(animationEndEvent, 
  function(e) {
    function(liked) {
      $(this).remove();
      alert(liked);
      Food.add();
      self.blocked = false;
    }.bind(e.target, liked);
  }
);
我在这里传递jquery自定义事件目标,它应该与
$('.foodChoose').eq(0)
^^这意味着您不需要原始事件,可以删除外部函数,如:

$('.foodChoose').eq(0).addClass(animate).one(animationEndEvent, 
  function(liked) {
    $(this).remove();
    alert(liked);
    Food.add();
    self.blocked = false;
  }.bind($('.foodChoose').eq(0), liked);
);
添加了一个小提琴,包括代码:-稍微修改以绑定到应用程序。这样我们就可以摆脱

var self = this;

我不知道如何将此添加到我在drag中工作的代码中:)你能给我解释一下吗?我无法测试此。。刚才看了一下你的在线示例。尝试替换App.like中现有的处理程序,然后重试。解释:您需要处理程序中类似/不同的信息。通过绑定函数,您可以添加参数,并通过将这些参数添加为参数将此信息传递给处理程序。提供了一个包含您的代码的提琴,以明确说明:我想通过此警报将带有此食物的img向左和向右拖动。没有这个按钮:P这个按钮是因为我只知道如何通过这个按钮。我将在拖动img时删除此按钮。。你正在寻找一个能为你做这项工作的人,而且是免费的。也许我没有仔细阅读你的问题。但现在我知道我有一个问题:为什么你在这里发布完全无关的代码?
$('.foodChoose').eq(0).addClass(animate).one(animationEndEvent, 
  function(liked) {
    $(this).remove();
    alert(liked);
    Food.add();
    self.blocked = false;
  }.bind($('.foodChoose').eq(0), liked);
);
var self = this;