-5

CSS style の div がありoverflow: scroll;ます。下にスクロールする長いリストですが、div の高さは 300px しかありません。下にスクロールしてアイテムをクリックすると、コンテンツがウィンドウの右側に表示されます (リストは左側にあります)。ただし、リストは自然に一番上に戻って更新されます (MySQLデータベースからコンテンツを取得するには更新する必要があります)。

理想的には、JavaScript、jQuery、または AJAX の組み合わせを使用するのが最適かもしれませんが、私は JS と jQuery を小さなレベルでしか使用せず、AJAX はまったく使用しません。私はPHPにもっと精通しています。

編集: PHPはこれを行うことができないため、実装する最良の方法と方法は何ですか?

Edit2: ここに私がクリックした私のリンクがあります:

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

3 に答える 3

2

あなたの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;
 }
});
}
于 2013-01-31T16:41:54.987 に答える
2

ページを更新した後、ID で要素にアクセスしようとしましたか?

基本的にあなたのURLに「#elementClickedId」を追加しますか?

次のようなもの: http://www.w3.org/TR/html4/struct/global.html#adef-id

于 2013-01-31T16:47:00.390 に答える
1

これで遊んでみてください(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>';
于 2013-01-31T16:52:39.063 に答える