2012-02-22 76 views
5

我在Wordpress中构建了一个博客页面,并添加了一个指向当前帖子的侧栏。我想用jQuery填写当前文章的日期。这只是一个想法,所以我没有任何代码。但是,如果运作是这样的:jQuery根据滚动位置更改div中的内容

enter image description here

当你向下滚动页面的日期(或其他方式)会改变此基础上的div你旁边。它还必须在博客设置中工作,这意味着每个div可能有不同的高度。

有什么想法?

+0

您是否有关于存储在任何地方的日期的信息,或者您只想从顶部算起日期? – Cheery 2012-02-22 00:31:42

+0

我将要使用wordpress,所以我会从每篇文章中获取信息。像日期,作者等等。 – user1161032 2012-02-22 00:38:00

回答

14

我不知道你想从该日起,所以,只是一个例子.. http://jsfiddle.net/Nsubt/

$(window).on("scroll resize", function(){ 
    var pos=$('#date').offset(); 
    $('.post').each(function(){ 
     if(pos.top >= $(this).offset().top && 
      pos.top < $(this).next().offset().top) 
     { 
      // any way you want to get the date 
      $('#date').html($(this).html()); 
      return; //break the loop 
     } 
    }); 
}); 

$(document).ready(function(){ 
    $(window).trigger('scroll'); // init the value 
}); 
​ 

事业部右侧可以有一个固定的位置,也可以在更新其绝对位置阻止与scrollresize事件一起工作。

+0

Cherry,这个def让我走上正轨!我将在帖子描述本身中包含日期,并且我将简单地从中取出。非常好的答案!迫不及待地尝试一下。 – user1161032 2012-02-22 01:01:40

+0

$(document).ready(function(){ $(window).trigger('scroll'); //初始化值 }); 这不是必需的。 ($(this).html());你可以解释我怎么做$('#date').html($(this).html());当页面被重新加载某种位置时。我的意思是它可以正常工作,但是当我重新加载滚动的页面时 - 它会在您不滚动另一个.post – 2012-09-26 13:39:34

+0

@RooticalV时获取第一个值。触发滚动不起作用吗?我正在做类似的事情。 – AlxVallejo 2012-10-01 18:11:43