Как вернуть пользователя на предыдущую позицию на странице, где он находился до нажатия на ссылку? - PullRequest
0 голосов
/ 05 июля 2019

Я работаю над сайтом. Я реализовал функцию загрузки прокрутки. Теперь проблема заключается в том, что когда пользователь щелкает ссылку и затем нажимает кнопку «Назад», он не возвращается обратно на позицию на странице, на которой он щелкнул, а перенаправляется в верхнюю часть страницы. Как я могу реализовать такое требование в PHP, чтобы пользователь перенаправлялся обратно в то же место, что и в Instagram?

Я знаю, что кеш нужно хранить и затем извлекать, но не знаю, как это сделать, или есть какой-то другой подход?

Вот код для загрузки на свитке:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>


<script>

$(document).ready(function(){


 var limit = 6;
 var start = 0;
 var action = 'inactive';



 function load_data(limit, start)
 {
  $.ajax({
   url:"fetcher.php",
   method:"POST",
   data:{limit:limit, start:start},
   cache:false,
   success:function(data)
   {
      //console.log(data+"sjdfksdcsjcbljd");

    $('#load_data').append(data);

    if(data.length < 5)
    {

     $('#load_data_message').html('<img src="img/spinner.gif" height=200 width=200 align="middle" style="visibility: hidden;">');
     action = 'active';
    }
    else
    {
     //$('#load_data_message').html("<button type='button' class='btn btn-warning'>Please Wait....</button>");

     $('#load_data_message').html('<img src="img/spinner.gif" height=200 width=200 align="middle">');
     action = "inactive";
    }
   }
  });
 }

 if(action == 'inactive')
 {
  action = 'active';
  console.log("onload");
  load_data(limit, start);
 }
 $(window).scroll(function(){

  if($(window).scrollTop() + $(window).height() > $("#load_data").height() && action == 'inactive')
  {

   action = 'active';
   start = start + limit;
   console.log("Scrolled"+start);
   setTimeout(function(){
    load_data(limit, start);
    $("#all").trigger('click');  
   }, 1000);
  }
 });


 setTimeout(() => {
  $("#all").trigger('click');  
 }, 1000);;

});
</script>

а вот fether.php:

<?php
include_once 'includes/connect.inc.php';
if(isset($_POST["limit"], $_POST["start"]))
{
 $today = date("Y-m-d");
 $query = "SELECT * FROM events ORDER BY event_date DESC LIMIT ".$_POST["start"].", ".$_POST["limit"]."";
 $result = mysqli_query($conn, $query);

 while($row = mysqli_fetch_array($result))
 {
    $event_date =  $row['event_date'];
    if(strtotime($today) <= strtotime($event_date)) {
      // Event has not yet finished
      echo "<div class=\"col-lg-4 col-md-6 pt-4 mycard upcoming\">";
    } else {
      // Event has finished
      echo "<div class=\"col-lg-4 col-md-6 pt-4 mycard past\">";
    }
        echo "<a class=\"card-link\" href=\"eventdetails.php?id=" . $row['event_id'] . "\">
              <div class=\"card px-2 pt-2\">
                <img class=\"card-img-top img-fluid\" src='images/".$row['event_bannername']."'>
                <h4 class=\"card-title text-center mt-2\">" . $row['event_title'] . "</h4>
              </div></a>
            </div>";
    }
 }


?>

http://ieee.shahandanchor.com http://ieee.shahandanchor.com/events.php

Это ссылка на сайт, который я пытаюсь реализовать. Возможно, нагрузка по прокрутке еще не активна по этой ссылке, но она у меня на локальном хосте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...