更改了滚动元素的位置()

时间:2015-02-23 23:16:58

标签: javascript jquery css

有以下小提琴: http://jsfiddle.net/hpXL4/202/

试图让它发挥作用,但似乎无法实现?期待在滚动X高度后基本上改变元素的位置。

var cta = $("#bottomcta");
cta.on("scroll", function(e) { 
  if (this.scrollTop > 50) {
    cta.addClass("fixed");
  } 
    else {
    cta.removeClass("fixed");
  }
});

2 个答案:

答案 0 :(得分:0)

在您的代码中,每次调用滚动函数时,您都要添加或删除该类。这可能会导致添加或删除类"固定"一百次。我不知道这是否能解决您的问题,但我会使用



cta.hasClass("fixed");




在尝试添加该类之前检查该类是否已应用于该元素。

答案 1 :(得分:0)

需要使用Windows元素。下面的代表链接.... :)

Link

var cta = $(window);
cta.on("scroll", function(e) { 
  if (cta.scrollTop() > 50) {
    $("#bottomcta").addClass("fixed");
  } 
    else {
    $("#bottomcta").removeClass("fixed");
  }
});