- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
全部。我构建了一个运行良好的简单 jQuery/PHP 聊天程序。但是,我想添加 channel 或房间等功能。理想情况下,我想使用聊天顶部的选项卡来管理用户所在的房间(只有 2 个)。我认为这将是一项简单的任务,并且我以前见过类似的事情,但是当单击选项卡时我一直收到未捕获的异常错误,并且源代码没有正确加载。我将发布整个聊天系统的代码,因为我觉得问题可能出在其中。
jquery
page = {
getChat: function() {
$.ajax({
url: 'game_src.php',
data: 'mode=getChat',
dataType: 'html',
cache: false,
success: function(res){
$("#chatbox").html(res);
}
});
}
};
$("#submitmsg").click(function(){
var clientmsg = $("#usermsg").val();
$.ajax({
url : 'game_src.php',
data: 'mode=chatSubmit&msg=' + encodeURIComponent(clientmsg)
});
$("#usermsg").attr("value", "");
return false;
});
setInterval(page.getChat, 4000);
$("#chatChannel").tabs({
cookie: { expires: 1 },
});
聊天正文
<?php
if($user->data['user_id'] == ANONYMOUS)
{
}
else
{
?>
<div id="chatChannel">
<ul>
<li><a href="#global">Global</a></li>
<li><a href="#alli">Alliance</a></li>
</ul>
</div>
<form name="message" action="">
<input name="usermsg" type="text" id="usermsg" size="25" />
<input name="submitmsg" type="submit" id="submitmsg" value="Send" />
</form>
<br />
<?php
}
?>
<div id="chatbox" style="border:1px solid black;background-color: rgba(255,255,255,0.3);height:400px;overflow:auto;">
<div id="global">
<?php
$chatMsgs = array();
$limit = time()-86400;
$sql = 'SELECT COUNT(chat_id) as count FROM '.CHAT_TABLE.' WHERE chat_channel = 0 AND chat_time > '.$limit;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$count = $row['count'];
if($count > 0)
{
$sql = 'SELECT * FROM '.CHAT_TABLE.' WHERE chat_channel = 0 AND chat_time > '.$limit.' ORDER BY chat_time DESC';
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$chatMsgs[] = array(
'chat_time' => $row['chat_time'],
'chat_msg' => $row['chat_msg'],
'chat_user' => $row['chat_user'],
'chat_channel' => $row['chat_channel']
);
}
foreach($chatMsgs as $msg)
{
$sql = 'SELECT username FROM '.USERS_TABLE.' WHERE user_id = '.$msg['chat_user'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$username = $row['username'];
echo '<div class="chatMsg" style="border-bottom:1px solid black;">';
echo '<div class="chatUsr">'.$username.' says:</div>';
echo '<div class="chatUsrMsg" style="float:left;">'.$msg['chat_msg'].'</div>';
echo '<div class="chatMsgTime" style="float:right;">'.date("g:i a", $msg['chat_time']).'</div>';
echo '</div>';
echo '<br />';
echo '<hr />';
}
}
else
{
echo '<div class="chatMsg">Nothing is heard but the sound of crickets...</div>';
}
?>
</div>
<div id="alli">
<?php
$chatMsgs = array();
$limit = time()-86400;
$sql = 'SELECT COUNT(chat_id) as count FROM '.CHAT_TABLE.' WHERE chat_channel = 1 AND chat_time > '.$limit;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$count = $row['count'];
if($count > 0)
{
$sql = 'SELECT * FROM '.CHAT_TABLE.' WHERE chat_channel = 1 AND chat_time > '.$limit.' ORDER BY chat_time DESC';
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$chatMsgs[] = array(
'chat_time' => $row['chat_time'],
'chat_msg' => $row['chat_msg'],
'chat_user' => $row['chat_user'],
'chat_channel' => $row['chat_channel']
);
}
foreach($chatMsgs as $msg)
{
$sql = 'SELECT username FROM '.USERS_TABLE.' WHERE user_id = '.$msg['chat_user'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$username = $row['username'];
echo '<div class="chatMsg" style="border-bottom:1px solid black;">';
echo '<div class="chatUsr">'.$username.' says:</div>';
echo '<div class="chatUsrMsg" style="float:left;">'.$msg['chat_msg'].'</div>';
echo '<div class="chatMsgTime" style="float:right;">'.date("g:i a", $msg['chat_time']).'</div>';
echo '</div>';
echo '<br />';
echo '<hr />';
}
}
else
{
echo '<div class="chatMsg">Nothing is heard but the sound of crickets...</div>';
}
?>
</div>
</div>
我将向 getChat jquery 函数添加一个参数来来回切换,但是我所拥有的东西让我卡住了。谁能指出我正确的方向?
最佳答案
JQuery UI 选项卡插件期望内容 div
与链接的 ul
位于同一容器中。
在您的例子中,它希望内容 div
位于 ul
正下方的 div id="chatChannel"
中,但是他们不在那里。
关于php - 未捕获的异常 : jQuery UI Tabs: Mismatching fragment identifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9640435/
我在看 Tabs UI 的选项。默认行为是它们水平堆叠。有没有办法改变它? 我想堆叠Tabs垂直。它将节省大量的 UI“不动产”,尤其是在移动应用程序 UI 中。 最佳答案 尝试这个: Tabs ta
问题:在 Zsh 中使用 TAB 向后导航,类似于在 Firefox 中 Shift-TAB Shift-TAB 应该执行的操作示例 我在终端中运行以下代码 ls 我明白了 A B C D E F
有很多人想知道如何完成制表符。这不是这些问题之一。问题是如何将 tab 键分配给 tab 补全? alt-tab/esc-tab 很痛苦。在面板禁用模式选项卡完成工作,这让我暂时...但我仍然希望面板
所以我有一个带有 3 个屏幕的 TabNavigator。 import React from 'react'; import {TabNavigator,createBottomTabNavigat
我想触发一个事件,例如当我在文本框中按 Tab 键时显示警报消息。 $("input").blur(function (e) { if (e.which == 9) alert(
我将这段代码设置为创建一个选项卡式菜单,它显示为一个选项卡式菜单,但当我加载网站时,选项卡在单击时不会改变。在“检查元素”中它说 $( "#tabs").tabs();不是函数。我不知道下一步要解决这
表单中有多个输入字段的示例,因为有一些字段在此之前会自动填充,如果我按 Tab 键,那么它应该跳过该自动填充的输入字段并应转到空白输入字段 我尝试过,但是当我开始在空白输入中写入时会发生什么,它也会自
我想写一个小的 chrome 扩展程序,它应该从网页 A(当前网页)获取信息,将选项卡更新到网页 B,然后将代码注入(inject)网页 B。不幸的是,以下代码正在将网页更新到 B 但注入(injec
如果当前事件选项卡中的表单很脏,我试图阻止 mat-tab 的选项卡更改。 但是我找不到拦截选项卡更改事件的方法。 // Tab 0 Content // Tab
我已从 MacOS Mojave 上的默认终端切换到 iterm2 .我有一个关于从当前选项卡打开新选项卡的问题。 确实,我希望与上一个当前选项卡处于同一路径。 为此,我执行了经典程序,即转到 ite
我在我的网站的两页上有此代码,但在一页上该功能不起作用。 Firebug 向我显示“$(...).tabs 不是函数”。我不明白为什么,谁能告诉我什么是错的? 这是有效的: http://www.in
我需要可靠的方法来为 Windows 和 XP 创建 %tab% (包含一个制表符)。 SET TAB=" " 应该适用于 Windows 7(未测试)但不适用于 Win XP(已测试)。 这个 fo
我正在尝试使用 RMarkdown 制作静态网页。我想定义一个 UI,它有第一层选项卡,然后是第一层下面的选项卡。我已经在 RMarkdown: Tabbed and Untabbed heading
我正在尝试使用 RMarkdown 制作静态网页。我想定义一个 UI,它有第一层选项卡,然后是第一层下面的选项卡。我已经在 RMarkdown: Tabbed and Untabbed heading
我在使用 chrome.tabs.create 方法打开多个选项卡时遇到问题。我正在尝试使用 chrome.tabs.create 循环打开大约 9 个选项卡,但打开的选项卡数量仅限于 4 个。看起来
我正在使用 Material ui 的标签,并且能够对标签的指示器进行更改。但是,我正在尝试使用样式将每个选项卡的指示器宽度减小到某个固定宽度。但似乎指标以一些计算值定位在左侧,并且给它一个宽度不会使
我在 OS X 终端中使用 emacs 24.3,并且遇到了一些奇怪的事情。 在 markdown-mode.el 中,tab 键通过 (define-key map (kbd "") 'markdo
在 Chrome 开发者工具上 Uncaught (in promise) Error: There is no clipping info for given tab at E._handleRes
在vim中,我想将:tabnew缩短为:tn,将:tabp缩短为:th,将:tabn缩短为:tl在我的.vimrc中。知道我将如何重新映射这样的命令吗? 最佳答案 使用cabbrev: ca tn t
我读过几个主题,讨论 IE 中的地址栏在使用 TAB 时基本上是第一个获得焦点的主题(MSDN 自己的文档讨论了这一点)。 然而,我也见过一些情况,但情况并不总是如此...... 我有一个母版页,内容
我是一名优秀的程序员,十分优秀!