繁体   English   中英

未捕获ReferenceError:未定义$? 的jsfiddle

[英]Uncaught ReferenceError: $ is not defined? Jsfiddle

我是javascript的初学者,我使用jsfiddle创建了一个导航栏,当用户向下滚动时出现。

当我将代码复制到Dreamweaver时,它不再起作用?

我已经研究过,它说了有关添加jquery框架的内容或其他内容? 还是没有框架就可以做到这一点?

链接到jsfiddle以获取完整代码: http : //jsfiddle.net/fNn7K/270/

javascript:

$(window).on('scroll', function () {
  console.log($(this).scrollTop());
   if ($(this).scrollTop() > 50) {
     $('.nav').addClass('visible');

   }else if ($(this).scrollTop() <= 50 && $('.nav').hasClass('visible')) {
      $('.nav').removeClass('visible');
   }

});

没有jQuery,您可以执行以下操作:

window.onscroll = function() {
    var display = document.body.scrollTop > 150 ? 'inline' : 'none',
        elems   = document.getElementsByTagName('nav');

    for (var i=0; i<elems.length; i++) {
        elems[i].style.display = display;
    }
}

小提琴

当我将代码复制到Dreamweaver时,它不再起作用?

JS Fiddle根据几条用户输入的数据组装页面。 这些数据之一是选择库。

您必须将代码复制到文档中的正确位置,并包含相同的库。

即使那样,Dreamweaver的预览模式也可能无法显示,因为它们(或至少是)非常糟糕。 您是否在真实的浏览器中进行测试?

我已经研究过,它说了有关添加jquery框架的内容或其他内容?

您需要jQuery库才能使用jQuery方法。

还是没有框架就可以做到这一点?

jQuery只是其他人编写的一些JavaScript。 您可以复制它所做的任何事情。 但是,逐行重写代码以不使用jQuery超出了stackoverflow答案的范围。

您需要在代码中添加jquery.js文件(dreamweaver)。

<head>标签之间添加

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

在您提供的小提琴中,jquery已经加载了..所以您没有收到该错误。

并且不要忘了将代码包装在document.ready函数中(同样,已经在小提琴中添加了)。

 $(function(){
     $(window).on('scroll', function () {
       .....
     });
 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM