Jquery с использованием waypoint get id элемента
i'am с помощью jQuery waypoints (http://imakewebthings.com/jquery-waypoints/#docs), чтобы проверить, является ли элемент видом браузера, здесь html:
<div class="container" id="container_1">1. Container</div>
<div class="container" id="container_2">2. Container</div>
<div class="container" id="container_3">3. Container</div>
<div class="container" id="container_4">4. Container</div>
здесь js
$('#container_1').waypoint(function() {
console.log("container 1 is visible");
});
это отлично работает!
Но можно ли узнать текущий идентификатор элемента, который находится в поле зрения, и убрать путевую точку? что-то вроде этого:
$('.container').waypoint(function() {
console.log("id of element: " + $(this).attr('id');
});
спасибо!
Ответы
Ответ 1
Вам не хватает скобки: )
в конце console.log, иначе это сработает.
$('.container').waypoint(function() {
console.log("id of element: " + $(this).attr('id'));
});
Если вы сбиваете с толку, вы также можете использовать это:
$('.container').waypoint(function() {
var $this = $('.container');
console.log("id of element: " + $this.attr('id'));
});
Ответ 2
В waypoints.js я обнаружил, что this
относится к внутреннему объекту путевых точек. Если вы выполните console.log, вы легко найдете, как выбрать этот элемент с помощью jquery.
handler: function (direction){
var DOMElement = $(this.element);
console.log($(this.element).attr('data-id');
}
Также... идентификатор атрибута атрибута элемента undefined