如何将来自 jsfiddle.net 的代码放入我的网站?

IT技术 javascript html dom jsfiddle
2021-03-09 20:24:39

我一直试图在我的网页底部创建一个小框,它会在滚动时展开/弹出,然后在鼠标移开时再次关闭。

我发现这篇文章带有 jsfiddle.net 的链接(我一直在摆弄它),并创建了一些在 JSFiddle 上查看时完全符合我想要的东西。但是当我在我的网站上弹出它时我无法运行它(我认为这可能与onLoad设置有关,但我真的不确定)。

这是我在 JSFiddle 中创建的:

JavaScript

$('#box').hover(function() {
  $(this).animate({
    height: '220px'
  }, 150);
}, function() {
  $(this).animate({
    height: '20px'
  }, 500);
});

CSS

#box {
  position: absolute;
  width: 300px;
  height: 20px;
  left: 33%;
  right: 33%;
  min-width: 32%;
  bottom: 0;
  background-color: #000000;
}

HTML

<div id="box"></div>

这在 JSFiddle 中工作正常,但当我尝试将代码插入我的文件并将它们链接在一起时就不行了。如果我的jsfiddle下拉框中从改变onLoadonDomReady到别的,它停止工作,但代码不会改变。所以我想我必须为此在某处添加其他东西。

正如您可能猜到的那样,当涉及到 JavaScript 时,我是一个完全的新手,所以我很肯定我没有做正确的事情。

有人可以告诉我如何保存 JavaScript 代码并将其链接到我的网页,这样它就可以像在 JSFiddle 上一样工作吗?

1个回答

您正在立即运行此代码,而不是等待 DOM 准备就绪。这意味着该元素#box可能还不存在。

jsFiddle 自动执行此过程以使您的代码更简洁。当您将代码放入自己的网站时,您需要自己完成。这很简单:您只需要将代码放入ready事件的回调中document

$(document).ready(function() {
    // put your Javascript here
});

或者,一个快捷版本:

$(function(){
    // put your Javascript here
});

它们在语义和功能上是等效的。

您将 jquery 逻辑移植到 vanilla js
2021-04-26 20:24:39
如果您不使用 jQuery(纯 javascript),您会怎么做?
2021-05-05 20:24:39