如何保存自动生成的" div id"用户滚动时在屏幕上可见...并跳转回保存的div id ..当用户重新加载页面时。
我可以使用以下代码动态生成id
generateid: function() {
$("#generate br ~ br").each(function(index, element) {
$(this).after("<div id=\"bookmark-" + index + "\"></div>");
});
},
并尝试滚动保存ID,但无法实现..代码如下所示
check: function() {
$(window).scroll(function() {
$("div[id^='bookmark-']").each(function(index, element) {
if ($(this).is(":visible"), $(window)) {
console.log($(this).attr('id') + " is visible");
} else {
}
});
});
},
但是静态地能够传递id并滚动到div。使用以下代码
scroll: function() {
var container = $('div'),
scrollTo = $('#bookmark-65');
container.animate({
scrollTop: scrollTo.offset().top - container.offset().top + container.scrollTop()
});
},
答案 0 :(得分:0)
如果要保存当前滚动位置,则不必是div
。您可以将滚动位置保存为Cookie。
示例:
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
}
return "";
}
更多详情here
答案 1 :(得分:0)
尝试明星操作员:$("div[id*='bookmark-']")