我使用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");
});
这很好用!
但是有可能找出视图中的元素的当前id并且路点被触发吗?像这样的东西:
$('.container').waypoint(function() {
console.log("id of element: " + $(this).attr('id');
});
谢谢!
答案 0 :(得分: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'));
});
答案 1 :(得分:1)
在waypoints.js中,我发现this
指的是一个航路点内部对象。如果你使用console.log,你很容易找到如何用jquery选择那个元素。
handler: function (direction){
var DOMElement = $(this.element);
console.log($(this.element).attr('data-id');
}