gpt4 book ai didi

php - 使用可滚动条 Jquery 限制返回结果

转载 作者:行者123 更新时间:2023-11-29 14:57:57 25 4
gpt4 key购买 nike

我正在使用以下代码片段在我的网站上生成动态Shoutbox:

HTML (index.html)

<body>

<div id="page">

<div class="block_main rounded">
<h2>My Shoutbox</h2>

<form method="post" action="shout.php">
Name: <input type="text" id="name" name="name" />
Message: <input type="text" id="message" name="message" class="message" /><input type="submit" id="submit" value="Submit" />
</form>

<div id="shout" style="padding:0 10px 0; overflow-x:hidden; height:225px;; overflow-y:auto;">

</div>
</div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {

//populating shoutbox the first time
refresh_shoutbox();
// recurring refresh every 15 seconds
setInterval("refresh_shoutbox()", 15000);

$("#submit").click(function() {
// getting the values that user typed
var name = $("#name").val();
var message = $("#message").val();
// forming the queryString
var data = 'name='+ name +'&message='+ message;

// ajax call
$.ajax({
type: "POST",
url: "shout.php",
data: data,
success: function(html){ // this happen after we get result
$("#shout").slideToggle(500, function(){
$(this).html(html).slideToggle(500);
$("#message").val("");
});
}
});
return false;
});
});

function refresh_shoutbox() {
var data = 'refresh=1';

$.ajax({
type: "POST",
url: "shout.php",
data: data,
success: function(html){ // this happen after we get result
$("#shout").html(html);
}
});
}


</script>
</body>

PHP 脚本 (shout.php)

<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=DB', 'User', 'PW');

if($_POST['name']) {
$name = $_POST['name'];
$message = $_POST['message'];
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = "INSERT INTO shoutbox (date_time, name, message) VALUES (NOW(), :name, :message)";
$stmt = $dbh->prepare($sql);

$stmt->bindParam(':name', $name, PDO::PARAM_STR);
$stmt->bindParam(':message', $message, PDO::PARAM_STR);

if ($stmt->execute()) {
populate_shoutbox();
}
}
}
catch(PDOException $e) {
echo $e->getMessage();
}

if($_POST['refresh']) {
populate_shoutbox();
}


function populate_shoutbox() {
global $dbh;
$sql = "SELECT * FROM shoutbox ORDER BY date_time DESC limit 10";
echo '<ul>';
foreach ($dbh->query($sql) as $row) {
echo '<li>';
echo '<span class="date">'.date("m/d/Y g:i A", strtotime($row['date_time'])).'</span>';
echo '<span class="name">'.$row['name'].'</span><br />';
echo '<span class="message">'.$row['message'].'</span>';
echo '</li>';
}
echo '</ul>';
}
?>

但是我遇到的问题是,当页面最初加载时,我设置了 <div>在我的CSS中使用overflow-y:auto将高度设置为300px。然而,当用户输入新信息时(例如,他们在喊箱中输入新消息),该区域会按预期动态刷新,但不再考虑 div CSS 滚动条规则。我该如何实现这个目标?

最佳答案

尝试将 shout 放入容器元素中,然后对其应用 slider 内容。

关于php - 使用可滚动条 Jquery 限制返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4072538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com