我的所有HTML和CSS代码都运行正常,我的脚本正确链接(或者我假设),但我无法加载脚本或执行我编码的任何操作。这是我的HTML,CSS和JS代码:
HTML
<!DOCTYPE html>
<html>
<head>
<title>Highlights</title>
<link rel='stylesheet' type='text/css' href='testwebcss.css'/>
<script type='text/javascript' src='testwebjs.js'></script>
</head>
<body>
<div id="title" class="highlighted">I'm highlighted!</div>
<div id="text">Highlight me, too!</div>
</body>
</html>
CSS
#title {
background-color: #C02942;
border-radius: 5px;
text-align: center;
font-family: Verdana, Arial, Sans-Serif;
color: #FFFFFF;
width: 200px;
height: 25px;
}
#text {
background-color: #0B486B;
border-radius: 5px;
text-align: center;
font-family: Vivaldi, Cursive;
color: #FFFFFF;
width: 200px;
height: 25px;
opacity: 0.5;
}
.highlighted {
-webkit-box-shadow: 0 0 8px #FFD700;
-moz-box-shadow: 0 0 8px #FFD700;
box-shadow: 0 0 8px #FFD700;
cursor:pointer;
}
JS
$(document).ready(function(){
$('#text').mouseenter(function(){
$(this).fadeTo('fast', 1);
});
$('#text').mouseleave(function(){
$(this).fadeTo('fast', 0.5);
});
});
所以我不明白为什么它不起作用。如您所见,当鼠标进入#text的边界时,脚本只会使不透明度加倍。那么,为什么没有用呢。我从控制台得到了这个:
Uncaught ReferenceError: $ is not defined
修正了它;它一直在努力。在编辑原始代码的某个地方,我删除了$,将选择器从工作状态中移除。
DERP
答案 0 :(得分:0)
您没有在页面中包含jQuery库
使用CDN包含库
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type='text/javascript' src='testwebjs.js'></script>
答案 1 :(得分:0)
您需要将jquery.js实际加载到您的页面中。这就是$()函数未定义的原因。只需将以下内容添加到<head>
:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
答案 2 :(得分:0)
您在JavaScript代码中使用了JQuery ($)
,但页面中未包含JQuery库。
要从CDN中包含JQuery库,请将<script>
元素添加到<head>
部分:
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>