Javascript 如何保存自动生成的“div id”。我试图保存用户滚动时屏幕上可见的div id
如何保存用户滚动时在屏幕上可见的自动生成的div id。。。并在用户重新加载页面时跳回保存的div id 我能够使用以下代码动态生成idJavascript 如何保存自动生成的“div id”。我试图保存用户滚动时屏幕上可见的div id,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如何保存用户滚动时在屏幕上可见的自动生成的div id。。。并在用户重新加载页面时跳回保存的div id 我能够使用以下代码动态生成id generateid: function() { $("#generate br ~ br").each(function(index, element) { $(this).after("<div id=\"bookmark-" + index + "\"></div>"); }); }, 但是静态地可以通过以
generateid: function() {
$("#generate br ~ br").each(function(index, element) {
$(this).after("<div id=\"bookmark-" + index + "\"></div>");
});
},
但是静态地可以通过以下代码传递id并滚动到div
scroll: function() {
var container = $('div'),
scrollTo = $('#bookmark-65');
container.animate({
scrollTop: scrollTo.offset().top - container.offset().top + container.scrollTop()
});
},
如果您想保存当前滚动位置,它不必是div。您只需将滚动位置保存到cookies即可 例如:
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 "";
}
更多详细信息请尝试星形运算符:$div[id*='bookmark-']您将书签保存在哪里?重新加载时,它还在吗?我无法保存书签。您好,您可以使用会话存储或cookie存储将id元素保存在scroll上,然后在重新加载时调用。是的,我知道如何使用会话、本地、cookie存储实现,但是我的要求是使用div id存储。你能解释一下tilde操作符的作用吗?对不起,我的错误。我指的是明星*。。。这可以很好地解决这个问题:$div[id*='bookmark-']。。。是的,我知道如何使用会话、本地、cookie存储实现,但我的要求是使用div idReloading存储删除所有生成的div。你需要把国家保存在某个地方。
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 "";
}