Javascript JQuery在滚动高度标题上添加类

Javascript JQuery在滚动高度标题上添加类,javascript,jquery,html,Javascript,Jquery,Html,我使用此代码在scroll上添加一个类。活动类工作得很好,但放置该类时页面上的位置不正确。我们在我们的网站上使用一个固定位置的主标题,当这个标题变粘时,它会被放置在我们的主标题下。滚动时需要将活动类放在页面的前面,因为在放置类时,节的内容已经开始 由于某些原因,代码与同一页面上的另一个脚本冲突,我如何解决该问题?这两个脚本彼此相邻 小提琴: HTML: 我需要在代码中更改什么 <script> $(window).scroll(function(){ var sticky = $

我使用此代码在scroll上添加一个类。活动类工作得很好,但放置该类时页面上的位置不正确。我们在我们的网站上使用一个固定位置的主标题,当这个标题变粘时,它会被放置在我们的主标题下。滚动时需要将活动类放在页面的前面,因为在放置类时,节的内容已经开始

由于某些原因,代码与同一页面上的另一个脚本冲突,我如何解决该问题?这两个脚本彼此相邻

小提琴:

HTML:

我需要在代码中更改什么

<script>
$(window).scroll(function(){
  var sticky = $('.menu-header-product'),
      scroll = $(window).scrollTop();

  if (scroll >= 645) sticky.addClass('sticky');
  else sticky.removeClass('sticky');
});
$(window).scroll(function(){
  var sticky = $('.content'),
      scroll = $(window).scrollTop();

  if (scroll >= 645) sticky.addClass('sticky');
  else sticky.removeClass('sticky');
});
    $(document).ready(function () {
        $(document).on("scroll", onScroll);

        $('a[href^="#"]').on('click', function (e) {
            e.preventDefault();
            $(document).off("scroll");

            $('a').each(function () {
                $(this).removeClass('active');
            })
            $(this).addClass('active');

            var target = this.hash;
            $target = $(target);
            $('html, body').stop().animate({
            'scrollTop': $target.offset().top-130 /**just subtract the height of the fixed html part */
             }, 500, 'swing', function () {
                window.location.hash = target;
                $(document).on("scroll", onScroll);
            });
        });
    });

function onScroll(event){
        var scrollPosition = $(document).scrollTop();
        $('nav a').each(function () {
            var currentLink = $(this);
            var refElement = $(currentLink.attr("href"));
            if (refElement.position().top <= scrollPosition && refElement.position().top + refElement.height() > scrollPosition) {
                $('nav ul li a').removeClass("active");
                currentLink.addClass("active");
            }
            else{
                currentLink.removeClass("active");
            }
        });
    }
</script>
如果滚动>=50 sticky.addClass'sticky';其他的 sticky.removeClass'sticky';}$scroll函数{var 粘性=$'。内容', scroll=$window.scrollTop

如果滚动>=12 sticky.addClass'sticky';否则 sticky.removeClass'sticky';}


滚动超过50时添加粘贴头,滚动低于12时删除粘贴头。只要对你有好处,就编辑这些数字

你能用一个有用的提琴或代码片段来包装东西吗?你能用这个代码来编辑提琴吗?因为我试过了,但代码不起作用。我只是编辑了一点,但并不完美。。我将寻找另一种方法来解决这个问题,但该代码并没有给我带来解决方案。你知道另一个解决方案吗?解决了!偶然将此if refElement.position.top scrollPosition{转换为if refElement.position.top-130 scrollPosition{
<script>
$(window).scroll(function(){
  var sticky = $('.menu-header-product'),
      scroll = $(window).scrollTop();

  if (scroll >= 645) sticky.addClass('sticky');
  else sticky.removeClass('sticky');
});
$(window).scroll(function(){
  var sticky = $('.content'),
      scroll = $(window).scrollTop();

  if (scroll >= 645) sticky.addClass('sticky');
  else sticky.removeClass('sticky');
});
    $(document).ready(function () {
        $(document).on("scroll", onScroll);

        $('a[href^="#"]').on('click', function (e) {
            e.preventDefault();
            $(document).off("scroll");

            $('a').each(function () {
                $(this).removeClass('active');
            })
            $(this).addClass('active');

            var target = this.hash;
            $target = $(target);
            $('html, body').stop().animate({
            'scrollTop': $target.offset().top-130 /**just subtract the height of the fixed html part */
             }, 500, 'swing', function () {
                window.location.hash = target;
                $(document).on("scroll", onScroll);
            });
        });
    });

function onScroll(event){
        var scrollPosition = $(document).scrollTop();
        $('nav a').each(function () {
            var currentLink = $(this);
            var refElement = $(currentLink.attr("href"));
            if (refElement.position().top <= scrollPosition && refElement.position().top + refElement.height() > scrollPosition) {
                $('nav ul li a').removeClass("active");
                currentLink.addClass("active");
            }
            else{
                currentLink.removeClass("active");
            }
        });
    }
</script>