PHP 可以在刷新时保持窗口中的位置吗?如果没有,最好的方法


Can PHP maintain position in window on refresh? If not, best method?

我有一个带有CSS样式的div overflow: scroll;。 这是一个向下滚动的长列表,但div 的高度只有 300px。 如果我向下滚动并单击一个项目,内容将填充窗口的右侧(列表位于左侧)。 但是,列表自然会向上凸起以刷新(需要刷新才能从MySQL数据库中获取内容)。

我知道,理想情况下,使用JavaScript,jQuery或AJAX的组合可能效果最好 - 但我只在小层面上使用JS和jQuery,而AJAX根本没有。 我对PHP更熟悉。

编辑:由于PHP不能做到这一点,最好的实现方法是什么以及如何实现?

编辑2:这是我点击的链接:

<a href="items.php?id=<?php echo $cat_id; ?>&amp;item=<?php echo urlencode($row['item']); ?>"><?php echo $row['item']; ?></a>

在你的 html 中:

<div class='item_in_list'><a href='javascript:item_click(<?php echo $id;?>)'>Item 1</a></div>

然后是JavaScript:

function item_click(id)
{
$.ajax({
 type:'get',
 data:{item_id:id},
 url:'yourphppage.php',
 dataType:'html',
 success:function(response){
  $('#page_body').html(response);
  return false;
 }
});
}

刷新页面后,您是否尝试通过 ID 访问您的元素?

基本上在您的网址上添加"#elementClickedId"?

像这样:http://www.w3.org/TR/html4/struct/global.html#adef-id

尝试使用这个(假设加载了jQuery):

<script>
$( '.list a' ).click( function( e ) {
    e.preventDefault();
    alert( 'Loading...' );
    $( '#resultboxontheright' ).load( 'foo.php?id=' + $( this ).attr( 'data-foo' ), function() {
        alert( 'Done!' );
    } );
} );
</script>

<ul class="list">
    <li><a href="foo.php?id=bar" data-foo="bar">Foobar</a></li>
    <li><a href="foo.php?id=foo" data-foo="foo">Foofoo</a></li>
</ul>
<div id="resultboxontheright"></div>

和 foo.php:

<?php
echo '<h4>' . $_GET['id'] . '</h4>';
相关文章: