我正在尝试从 cookie 中恢复一个值,该值位于用户单击的 Y 轴上的某个位置。然后我想<h2>
从该点击中找到父级(如果有帮助,所有<h2>
s 都是 a 的第一个子级<div class="_bdnable_">
)。这是我到目前为止所拥有的:
var bookmarkLocation;
function getBookmarkPos() {
if ($.cookie("bookmark-position") !== null) {
$(".bdnable").each(function(i) {
var scrollTopTop = $(this).offset.top;
var scrollTopBottom = $(this).offset.top + $(this).height();
// var screenWidth = parseInt(screen.width/2);
// alert(screenWidth);
// var bookmarkPosition = parseInt($.cookie("bookmark-position"));
// alert(bookmarkPosition);
// var query = document.elementFromPoint(screenWidth, 50).nodeName;
// alert(query);
if ($.cookie("bookmark-position")>=scrollTopTop && $.cookie("bookmark-position")<=scrollTopBottom) {
bookmarkLocation = $(this).closest("div").children(":nth-child(1)").text();
}
});
if (bookmarkLocation == null) {
bookmarkLocation = "Unknown";
}
} else {
bookmarkLocation = "No bookmark set";
}
$("#bookmarklocationspan").html(bookmarkLocation);
}
在注释掉的部分是我尝试使用getElementFromPoint然后意识到它只检查可见区域的地方。不好,因为页面上可滚动的 Y 轴是 1000 像素高。
任何想法都非常感谢!