【发布时间】:2017-09-08 06:46:09
【问题描述】:
有一个简单的脚本来显示和隐藏页面上的一些元素。问题是它只适用于 Firefox 和 Vivaldi,据我测试,最近的 Safari、IE11 和 Chrome 50 存在问题(57 都可以正常工作)。
代码位于脚本标签内子页面的源代码中。看起来$(document).ready(function() 的内容根本没有执行,没有任何错误。我只有对子页面编辑的写入权限,据报道正在运行的 jquery 版本是 1.12.0。
类似的代码也放置在页面头部部分脚本标记中的$(document).ready(function() 中工作正常。
我想知道是否可能是因为 jquery 版本。在我没有太多访问权限的页面其余代码中,有几个调用 google cdn 来加载 jquery,我可以加载不同版本的 jquery 而不影响使用旧版本 jquery 的其他脚本吗?
jQuery
>$(document).ready(function() {
var slideDelay = 1600;
$(".offer_close").click(function() {
$(this).closest(".offer_content").slideUp(slideDelay);
});
$(".offer_title").click(function() {
if ($(this).next(".offer_content").is(':visible')) {
$(this).next(".offer_content").slideUp(slideDelay);
} else {
$(".offer_content").slideUp(slideDelay);
var tmp = $(this).next(".offer_content");
tmp.slideToggle(slideDelay, function() {
$('html, body').animate({
scrollTop: tmp.offset().top - 300
}, 1000);
});
}
});
});
【问题讨论】:
-
AFAIK,
$(document).ready()在所有浏览器中都是完全可靠的。如果它真的没有在任何特定浏览器中触发,我会怀疑 javascript 在设置中已关闭 - 至少这是我要调查的第一件事。 -
@Roamer-1888 我确实排除了 tjavascript 立即关闭
-
将此
<script>alert("working");</script>添加到您的html 页面底部,就在</body>内(不是在单独的.js 文件中)。如果在您的代码不起作用的那些浏览器上没有发出警报,则 js 被禁用。 -
“简单的 javacript 代码”太模糊了。写问题时你真的应该更具描述性。
标签: javascript jquery html cross-browser