【问题标题】:Jquery to javascript or Jquery to pseudo codeJquery 到 javascript 或 Jquery 到伪代码
【发布时间】:2019-10-16 09:02:24
【问题描述】:

我在处理一些 jQuery 代码时遇到了问题。虽然我相当精通 JavaScript,但我对 jQuery 的理解有限。

我希望有人可以和我一起通过以下代码将其转换为 JavaScript 或伪代码,以便我可以将其转换为 JavaScript。

if (someVar !== 1000) {
  $(element).appendTo('#someID').delay(someVar * 1000).queue(function() {
    $(this).removeClass(someClass).addClass(someOtherClass).delay(1000).queue(function() {
      $(this).remove()
    }).dequeue();
  });
}

我的故障是在一段时间后将$(element) 附加到#someID。然后删除 someClass 并在一段时间后将 someOtherClass 添加到此事件中,然后删除此事件并出列。

我只是不懂语法。我要学习,但目前我需要了解上面所说的内容以便我可以转换为 JavaScript,或者获得一些快速帮助将其转换为 JavaScript。

我查看了几个关于将 jQuery 转换为 JavaScript 的网站,但我仍然卡住了。

【问题讨论】:

  • delay().queue() 模式所做的只是在指定时间后执行一些逻辑。您可以将其转换为setTimeout()

标签: javascript jquery


【解决方案1】:

看看这个

const classList(elt) {  // from https://stackoverflow.com/a/29143197/295783
  var list = elt.classList;
  return {
      toggle: function(c) { list.toggle(c); return this; },
      add:    function(c) { list.add   (c); return this; },
      remove: function(c) { list.remove(c); return this; }
  };
}

const parent = document.getElementById("someID");
const child = document.createElement(...)

if (someVar !== 1000) {
  parent.appendChild(child);
  setTimeout(function() {
    classList(child).remove(someClass).add(someOtherClass);
    setTimeout(function() { child.remove() }, 1000);
  }, 1000 * someVar);
}

【讨论】:

  • 很可能,对此感到抱歉。我今天没有时间阅读最微小的 jquery。我标记为正确的代码和您发布的链接让我清楚地知道 jquery 在做什么。再次感谢您的帮助。
  • 顶部代码只是一个帮助函数,以保持其 DRY 以允许链接类列表操作
  • 是的,我看到了,谢谢,我将在未来使用 :D ...或者只是学习 jquery 大声笑
猜你喜欢
  • 2018-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多