jQuery fade in/out功能失效求助:点击按钮无响应
解决jQuery淡入淡出无反应的问题
嘿,我来帮你排查这个点击按钮后淡入淡出失效的问题~ 结合你给出的代码片段,我整理了几个常见的原因和对应的解决办法:
先确认jQuery是否正确引入
很多时候这种问题都是因为jQuery没加载或者加载顺序错了!要确保你的jQuery引入脚本在自定义代码之前,比如:<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script> <script> // 你的自定义jQuery代码放在这里 </script>检查事件绑定是否有效
如果#searchSubmit是动态生成的(比如通过AJAX加载出来的),普通的click()绑定会失效,这时候得用事件委托:$(document).on('click', '#searchSubmit', function() { // 你的点击逻辑放在这里 });用正确的淡入淡出方法
你提到用了hide/show,但要实现淡入淡出效果,得用jQuery专门的fadeOut()和fadeIn()方法呀!而且最好把淡入放在淡出的回调里,确保顺序执行:$(document).ready(function() { $("#searchSubmit").click(function() { var question = { q: $("#searchQuestion").val() }; var data = ["mobileApp", "mobileLearning"]; console.log(data.length); if (data.length == 0) { console.log('un'); alertify.error("nothing found"); } else { // 替换成你实际的文本元素选择器 $("#targetText").fadeOut(500, function() { // 淡出完成后,再让搜索结果淡入,替换成结果元素选择器 $("#searchResults").fadeIn(500); }); } }); });另外要注意:搜索结果元素的初始状态应该设置为
display: none,这样fadeIn()才能正常触发动画。排查CSS和语法错误
- 检查目标元素的CSS,有没有
display: none !important这类强制隐藏的属性,会干扰jQuery的动画效果; - 打开浏览器控制台(按F12)看看有没有语法报错——你提供的代码里
var info = { searchR... }是截断状态,要是后面有语法错误,整个脚本都会停掉哦!
- 检查目标元素的CSS,有没有
内容的提问来源于stack exchange,提问作者shahrzad
相关产品推荐
相关产品推荐

