-2

我有一些 jquery 代码在 firebug chrome 中发现了一些问题。

任何帮助都会很棒,请更新小提琴。

请参阅小提琴的链接。

http://jsfiddle.net/jwhTd/

图片 jQuery问题

    /*  SHOW CATEGORIES
    ===================================================================*/

$('.normal-btn\.interest').click(function(e){
   // Prevent the event from bubbling up the DOM tree
   e.stopPropagation();
   $('.categories-wrap').fadeIn(); // must be hidden, to fade in
});
$(document, '.normal-btn\.interest').click(function(){
    $('.categories-wrap').fadeOut(); // must be visible, to fade out
});


var offset = $(".sticky-header").offset();
var sticky = document.getElementById("sticky-header")
var additionalPixels = 50;

$(window).scroll(function () {
    if ($(window).scrollTop() > offset.top - additionalPixels) {
        $('#profile-container').addClass('fixed');
    } else {
        $('#profile-container').removeClass('fixed');
    }
});
4

3 回答 3

0

看起来大部分代码都不在document.ready. 一旦 dom 准备好,就var offset = $(".sticky-header").offset();需要执行。

于 2013-10-16T12:15:29.533 回答
0

它准确地告诉你出了什么问题。offset未定义。你可能期望它有一个值,检查它为什么没有一个值。

你会得到更多的错误。.top关于滑块的一些东西和另一个关于某处无效访问的东西。

于 2013-10-16T12:10:38.467 回答
0

你的代码:

var offset = $(".sticky-header").offset();
var sticky = document.getElementById("sticky-header")
var additionalPixels = 50;

第一行选择为 的所有元素sticky-header,然后获取第一个元素的偏移量。如果选择器匹配零个元素,则该.offset()函数返回undefined,由于您稍后遇到的错误,这里似乎就是这种情况。

在下一行你选择一个id的元素sticky-header,这让我觉得你的第一行应该是

var offset = $('#sticky-header').offset();

相反,它使用一个 ID 选择器而不是一个类。

于 2013-10-16T12:17:11.653 回答