我有一个带有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; ?>&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>';