jQuery代码无法运行求助:原正常代码失效,高版本兼容异常
解决jQuery动画完全失效的问题
先别急,我帮你揪出了代码里几个导致动画失效的关键问题,一个个来修复:
1. 修复script.js的语法错误
你的script.js最后缺少了$(document).ready函数的闭合括号和分号,语法错误会直接让整个脚本罢工!Chrome浏览器按F12打开控制台,应该能看到类似“Unexpected end of input”的报错。
修正后的完整script.js代码如下:
$(document).ready(function() { // Move the box left and increase the fontSize 2px each click $('#left').click(function() { $('.box').animate({ left: "-=40px", fontSize: "+=2px" }, function() { // animation is complete }); }); $('#up').click(function() { $('.box').animate({ top: "-=40px", opacity: '+=0.1' }, function() { // animation is complete }); }); $('#right').click(function() { $('.box').animate({ left:'+=40px', fontSize: '-=2px' },function() { }); }); $('#down').click(function() { $('.box').animate({ top:'+=40px', opacity: '-=0.1' },function() { }); }); }); // 补上之前缺失的闭合代码
2. 修正jQuery本地 fallback 的路径错误
你写的本地jQuery fallback代码里,路径用了点.而不是斜杠/,导致CDN加载失败时,本地文件根本找不到:
// 错误写法 window.jQuery || document.write('<script type="text/javascript" src="js.jquery-2.1.4.js"></script>') // 正确写法 window.jQuery || document.write('<script type="text/javascript" src="js/jquery-2.1.4.js"></script>')
把js.jquery-2.1.4.js改成js/jquery-2.1.4.js,确保本地文件路径正确。
3. 关于jQuery 3.x无法运行的补充
之前你提到jQuery 3.2.1不能正常工作,其实你的动画逻辑在3.x版本里是兼容的,大概率是当时的路径错误或者语法问题导致的。如果之后想切换到3.x版本,只需要替换CDN链接:
<script type="text/javascript" src="//code.jquery.com/jquery-3.7.1.min.js"></script>
同时保持本地fallback路径正确即可。
验证步骤
修改完以上内容后,按F12打开Chrome开发者工具,切换到「控制台」标签,确认没有报错信息,再点击导航按钮测试动画效果。
内容的提问来源于stack exchange,提问作者Minh Ha
相关产品推荐
相关产品推荐

