2017-12-13 8 views
0
<body> 
<div id="wayp-1" class="tracked">WAY</div> 
<div id="wayp-2" class="tracked">WAY</div> 
<div id="wayp-3" class="tracked">WAY</div> 
<script src="lib/jquery.min.js"></script> 
<script src="lib/jquery.waypoints.min.js"></script> 
<script> 
    $('.tracked').waypoint(function(){ 
     alert($(this).attr('id')); 
    }) 
</script> 

jQueryメソッド.attr()は、 'id'の追跡された要素が未定義の状態で返されるようにしました。ウェイポイントプラグインは、このコードが未定義返す何らかの理由

を追跡するために使用されます。

+0

jsfiddleをしてください –

+0

'$(this)'はスクロールした要素を指していますか? – Unknown

+1

1st:完全なエラーか、それとも未定義なのかを教えてください。2nd:このプラグインのリンクはどこですか? –

答えて

0

ウェイポイントドキュメントに基づいて、このプラグインは、彼らはあなたがjQueryのを使用しているときthis.elementを使用することを示唆した代わりに、明らかにした要素として$(this)を受け付けません。あなたのコードは、この方法で編集する必要があります。

のjQuery:

$('.tracked').waypoint(function(){ 
    handler: function(direction) { 
     notify(this.element.id + ' hit') 
    } 
}); 

それとも$(this)、あなたは要素の属性にアクセスするためにthisを使用することができ、純粋なjavascriptの(ないのjQueryを)ない使用されています

var waypoint = new Waypoint({ 
    element: document.getElementsByClassName('tracked'), 
    handler: function(direction) { 
     notify(this.id + ' hit') 
    } 
}); 
関連する問題