javascript - 页面中的链接不起作用

标签 javascript jquery html css href

我的一页链接有问题。当我想向下滚动时它可以工作,但是当我想向上滚动时它会停留在同一个地方。这是代码的一部分:

(function($){
/* Store the original positions */
var d1 = $('.one');
var d1orgtop = d1.position().top;
var d2 = $('.two');
var d2orgtop = d2.position().top;
var d3 = $('.three');
var d3orgtop = d3.position().top;
var d4 = $('.four');
var d4orgtop = d4.position().top;

/* respond to the scroll event */
$(window).scroll(function(){
    /* get the current scroll position */
    var st = $(window).scrollTop();

    /* change classes based on section positions */
    if (st >= d1orgtop) {
        d1.addClass('latched');
    } else {
        d1.removeClass('latched');
    }
    if (st >= d2orgtop) {
        d2.addClass('latched');
    } else {
        d2.removeClass('latched');
    }
    if (st >= d3orgtop) {
        d3.addClass('latched');
    } else {
        d3.removeClass('latched');
    }
    if (st >= d4orgtop) {
        d4.addClass('latched');
    } else {
        d4.removeClass('latched');
    }
});

以及 JSFIDDLE 中的示例 JSFIDDLE

当我单击页面顶部的 href 时,它会向下滚动。但是当我点击底部的 href 时,没有任何反应。我的错在哪里?

最佳答案

DEMO

因为您在 .latched 类上的 position:fixed 风格。你删除它你修复它但是是的它会影响我的可视化的原始功能。因此,作为替代方案,我有下面的 jquery hack,它实际上可以按要求运行。

$('a[href="#intro"]').on('click',function(){
  $(d1,d2,d3,d4).removeClass('latched');  
  //on click of #intro element you just remove latched class from all the elements
})

关于javascript - 页面中的链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33870939/

相关文章:

Javascript/Jquery - 太多递归

javascript - 使用 jquery 和 struts 重新加载 div

jquery - 浏览器对特定 jQuery 版本的支持

javascript - jQuery 数据表对象数组

html - 为列表实现 Sprite 图像的更好方法

JavaScript:获取以编程方式模拟 HTML 元素点击的点击事件坐标

javascript - 如何在 TypeORm 中使用 getter 和 setter

javascript - JavaScript 是否具有 double float ?

html - 验证摘要上方的间距从何而来,如何删除它?

jquery - 形成编辑模式显示在错误的位置