我在滚动后添加类有问题,这对我来说真的很奇怪,这就是原因:
我在多个项目中使用过这个脚本,之前从未遇到过这个问题。当我向下滚动主页时,脚本完美地工作,类“Fix”被添加到类“navigacija”,社交图标,菜单和语言被固定在页面顶部。但在其他页面上并非如此。滚动145px后,类“修复”未添加到“navigacija”类。更有趣的是,我在this page上故意插入非常大的图像,直到页面加载该图像,我的脚本工作(尝试在加载图像之前向下滚动)。页面完全加载后,脚本不再起作用。我在Joomla工作,我制作了自己的模板,我没有安装任何模块,组件或插件。只有Joomla的标准js文件和我之前用过这个脚本的脚本没有任何问题。
以下是我正在处理的网站:http://investfarm.moderanweb.rs/
这是脚本:
$(function() {
var navigacija = $(".navigacija");
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= 145) {
navigacija.removeClass('navigacija').addClass("Fix");
} else {
navigacija.removeClass("Fix").addClass('navigacija');
}
});
});
请提前帮助,谢谢。
答案 0 :(得分:0)
对于初学者,请开始清理控制台中显示的错误。
您有多个脚本标记指向HTML页面而不是脚本。
<script type="text/javascript" src="/templates/investfarmimpexmd/js/jquery-2.1.1.js"></script>
<script type="text/javascript" src="/templates/investfarmimpexmd/js/wow.min.js"></script>
<script src="/js/wow.min.js"></script>
我不知道你期望加载什么,但它没有加载脚本并导致错误。
也许这些标记为type="text/template"
,因此浏览器不会尝试执行它们,您可以将它们用作模板吗?
而且,你在这行内联Javascript上有一个错误,表明jQuery没有正确加载,所以你必须找出原因:
jQuery(window).on('load', function() {
new JCaption('img.caption');
});
并且,您在同一页面中加载了多个不同版本的jQuery,但没有管理这些不同版本的使用方式。你不能只加载一个版本的jQuery,发出jQuery.noConflict()
,然后加载另一个版本的jQuery。第一个是在那一点上什么都不做,所以如果你需要它什么的话,那就不行了。
答案 1 :(得分:0)
如果您正在使用jQueryNoConflict,请尝试将$
更改为jQuery
,为什么它在主页上工作,我想因为jQuery库在mootools库之前和之后加载了两次,所以请尝试使用,你应该为ToolTip
和其他东西做同样的事情:
jQuery(function() {
var navigacija = $(".navigacija");
jQuery(window).scroll(function() {
var scroll = jQuery(window).scrollTop();
if (scroll >= 145) {
navigacija.removeClass('navigacija').addClass("Fix");
} else {
navigacija.removeClass("Fix").addClass('navigacija');
}
});
});