使用waypoints插件滚动时加载内容

时间:2012-05-18 03:15:28

标签: jquery jquery-waypoints

我使用插件航路点(http://imakewebthings.com/jquery-waypoints/

* 编辑:工作解决方案:http://pastebin.com/x95Qf7m8 *

我要做的是在“share-this”标签向下滚动时加载链接中包含的共享小部件。

您可能会注意到head.ready的使用,它只是document.ready的替代品,因为我使用headjs来加载我的外部脚本。

我的问题很简单,为什么它在点击触发时有效,但没有使用航点插件?欢迎任何帮助

我的网站:http://www.entendu.info

head.ready(function() {


$('.share-this').waypoint(function(event, direction) {
   if (direction === 'down') {

    var contentId = $('.share-this').attr('rel');
    var uri = $('.share-this').attr('rev');

    e.preventDefault();
    //console.log('clicked');

    $.ajax({
   url: 'http://www.entendu.info/share',
   type: 'GET',
   dataType: 'html',
   data: {id:contentId, url:uri},
   complete: function(xhr, textStatus) {

   },
   success: function(data, textStatus, xhr) {

   $('#'+contentId).html(data);
   },
   error: function(xhr, textStatus, errorThrown) {

   }
   });

   }
   else {

      // do this on the way back up through the waypoint
   }



   });



});




<div class="content" id="{$posts[i].PID}" style="float:left">
<a href="" class="share-this" rel="{$posts[i].PID}" rev={$posts[i].name|escape:'htmlall'}">

<img src="{$imageurl}/share2.png" width="379" height="22" style="opacity: 0.5; float:left"></a>
</div>

1 个答案:

答案 0 :(得分:0)

在您说e.preventDefault()的功能中,但没有e。您的活动名为event。如果您在控制台中查看,您将看到错误“e未定义”。另外,防止航路点处理程序中的默认值无效,所以我不确定该行的重点是什么。