Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何保存自动生成的“div id”。我试图保存用户滚动时屏幕上可见的div id_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何保存自动生成的“div id”。我试图保存用户滚动时屏幕上可见的div id

Javascript 如何保存自动生成的“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>"); }); }, 但是静态地可以通过以

如何保存用户滚动时在屏幕上可见的自动生成的div id。。。并在用户重新加载页面时跳回保存的div id

我能够使用以下代码动态生成id

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 "";
}