齐博x1内容评论标签的风格制作
评论的标签如下:
{qb:comment name="xxxxx" rows='5'}
HTML代码片段
{/qb:comment}
评论涉及到的元素有{posturl}
这个是代表POST评论内容到哪个网址{pageurl}
这个是代表显示更多页评论的地址
基本流程, 一个是评论区的内容. 一个是提交按钮.一个是数据提交处理事件
其中
<textarea name="textfield" id="comment_content"></textarea>
这个是评论区的内容. 这里的元素有一个 id="comment_content"
方便JS事件获取里边的内容
面下面这个就是评论按钮
<input type="button" name="Submit" value="发表留言" onclick="post_commentPc()">
这里有一个点击事件 post_commentPc()
他是JS处理评论事件
下面这段就是表单POST的JS处理事件
<script type="text/javascript">
var posturl = "{posturl}"; //POST数据到指定网址
var commentpage = 1; //默认显示第一页的数据
var havepost = false; //做个标志,不要重复提交数据
//POST评论内容
function post_commentPc(){
if(havepost===true){
layer.alert("请不要重复提交数据");
return ;
}
var contents = $('#comment_content').val(); //获取评论内容
if(contents==''){
layer.alert("请输入评论内容!");
}else{
havepost = true; //做个标志,不要重复提交
$.post(
posturl, //提交到指定网址
{content:contents}, //提交的评论内容
function(res,status){
if(res.code==0){ //评论成功
$('#comment_content').val(''); //清空评论区的内容
$('#show_comment').html(res.data); //把返回的新的评论数据重新显示在网页上
commentpage = 1; //恢复到第一页
layer.msg('发表成功!');
HiddenShowMoreComment(); //这里统计是否有分页,这个可删除
}else{ //评论失败
layer.alert('评论发表失败:'+res.msg);
}
havepost = false; //允许再次发表评论
}
);
}
}
</script>
发表评论这一块的完整代码如下:
<div class="PostComment">
<div class="head">我要留言</div>
<dl>
<dt>内容:</dt>
<dd>
<textarea name="textfield" id="comment_content"></textarea>
</dd>
</dl>
<div class="sub">
<input type="button" name="Submit" value="发表留言" onclick="post_commentPc()">
</div>
</div>
<script type="text/javascript">
var posturl = "{posturl}"; //POST数据到指定网址
var commentpage = 1; //默认显示第一页的数据
var havepost = false; //做个标志,不要重复提交数据
//POST评论内容
function post_commentPc(){
if(havepost===true){
layer.alert("请不要重复提交数据");
return ;
}
var contents = $('#comment_content').val(); //获取评论内容
if(contents==''){
layer.alert("请输入评论内容!");
}else{
havepost = true; //做个标志,不要重复提交
$.post(
posturl, //提交到指定网址
{content:contents}, //提交的评论内容
function(res,status){
if(res.code==0){ //评论成功
$('#comment_content').val(''); //清空评论区的内容
$('#show_comment').html(res.data); //把返回的新的评论数据重新显示在网页上
commentpage = 1; //恢复到第一页
layer.msg('发表成功!');
HiddenShowMoreComment(); //这里统计是否有分页,这个可删除
}else{ //评论失败
layer.alert('评论发表失败:'+res.msg);
}
havepost = false; //允许再次发表评论
}
);
}
}
</script>
下面这个图是显示评论内容的处理
代码如下:id="show_comment"
给DIV定义一个容器存放更多页的评论显示
{volist name="listdb" id="rs"} 代码段 {/volist}
这里是把默认第一页的评论循环显示出来
onclick="Show_MoreComment()"
这个是点击事件,显示更多评论
{pageurl}
这个是评论更多数据的调用地址
<div class="ShowComment">
<div class="head">用户留言</div>
<div id="show_comment">
{volist name="listdb" id="rs"}
<div class="ListComment">
<dl>
<dt><a href="{:get_url('user',$rs.uid)}" target="_blank"><img src="{$rs.icon}" onerror="this.src='__STATIC__/images/nobody.gif'"></a></dt>
<dd>{$rs.content}</dd>
</dl>
<div class="moreinfo">
称呼:{$rs.username} 日期:{$rs.time}
<A HREF="#">删除</A>
</div>
</div>
{/volist}
</div>
<div class="ShowMoreComment" style="text-align:center;margin:10px;"><button style="padding:8px;background:Orange;border:1px solid #fff;color:#fff;" type="butter" onclick="Show_MoreComment()">更多评论 <i class="fa fa-angle-double-down"></i></button></div>
</div>
<br>
<script type="text/javascript">
//显示更多数据
function Show_MoreComment(){
commentpage++;
$.get('{pageurl}?page='+commentpage,function(res){
if(res.code==0){
if(res.data==''){
layer.msg('显示完了!');
$('.ShowMoreComment button').hide();;
}else{
$('#show_comment').append(res.data); //更多评论数据调用成功,追加显示
}
}else{
layer.msg(res.msg,{time:2500});
}
});
}
//判断是否有更多页数据
function HiddenShowMoreComment(){
var Comments=$('#show_comment .ListComment').length;
if(parseInt(Comments/{$cfg_array.rows})<1){
$('.ShowMoreComment').hide();
}else{
$('.ShowMoreComment').show();
}
}
HiddenShowMoreComment();
</script>
评论的完整代码如下
<div class="PostComment">
<div class="head">我要留言</div>
<dl>
<dt>内容:</dt>
<dd>
<textarea name="textfield" id="comment_content"></textarea>
</dd>
</dl>
<div class="sub">
<input type="button" name="Submit" value="发表留言" onclick="post_commentPc()">
</div>
</div>
<script type="text/javascript">
var posturl = "{posturl}"; //POST数据到指定网址
var commentpage = 1; //默认显示第一页的数据
var havepost = false; //做个标志,不要重复提交数据
//POST评论内容
function post_commentPc(){
if(havepost===true){
layer.alert("请不要重复提交数据");
return ;
}
var contents = $('#comment_content').val(); //获取评论内容
if(contents==''){
layer.alert("请输入评论内容!");
}else{
havepost = true; //做个标志,不要重复提交
$.post(
posturl, //提交到指定网址
{content:contents}, //提交的评论内容
function(res,status){
if(res.code==0){ //评论成功
$('#comment_content').val(''); //清空评论区的内容
$('#show_comment').html(res.data); //把返回的新的评论数据重新显示在网页上
commentpage = 1; //恢复到第一页
layer.msg('发表成功!');
HiddenShowMoreComment(); //这里统计是否有分页,这个可删除
}else{ //评论失败
layer.alert('评论发表失败:'+res.msg);
}
havepost = false; //允许再次发表评论
}
);
}
}
</script>
<div class="ShowComment">
<div class="head">用户留言</div>
<div id="show_comment">
{volist name="listdb" id="rs"}
<div class="ListComment">
<dl>
<dt><a href="{:get_url('user',$rs.uid)}" target="_blank"><img src="{$rs.icon}" onerror="this.src='__STATIC__/images/nobody.gif'"></a></dt>
<dd>{$rs.content}</dd>
</dl>
<div class="moreinfo">
称呼:{$rs.username} 日期:{$rs.time}
<A HREF="#">删除</A>
</div>
</div>
{/volist}
</div>
<div class="ShowMoreComment" style="text-align:center;margin:10px;"><button style="padding:8px;background:Orange;border:1px solid #fff;color:#fff;" type="butter" onclick="Show_MoreComment()">更多评论 <i class="fa fa-angle-double-down"></i></button></div>
</div>
<br>
<script type="text/javascript">
//显示更多数据
function Show_MoreComment(){
commentpage++; //第几页
$.get('{pageurl}?page='+commentpage,function(res){
if(res.code==0){
if(res.data==''){
layer.msg('显示完了!');
$('.ShowMoreComment button').hide();;
}else{
$('#show_comment').append(res.data); //更多评论数据调用成功,追加显示
}
}else{
layer.msg(res.msg,{time:2500});
}
});
}
//判断是否有更多页数据 , 并不重要
function HiddenShowMoreComment(){
var Comments=$('#show_comment .ListComment').length;
if(parseInt(Comments/{$cfg_array.rows})<1){
$('.ShowMoreComment').hide();
}else{
$('.ShowMoreComment').show();
}
}
HiddenShowMoreComment();
</script>
齐博x1内容评论标签的风格制作的更多相关文章
- 齐博x1第四季《模块插件的制作》系列21-公共表单器的参数选项(7)
password 密码类型 和text一样,只不过type类型是password,密码类型输入时,显示星号.即Html中的密码框类型 icon 字体图标类型 和列表页一样,把css的字体图标引入到了表 ...
- 齐博x1内容页中下一页上一页的标签
在模板中分别插入如下代码即可 前一页 {:fun('content@prev',$info,20)} 后一页 {:fun('content@next',$info,20)} 复制 其中20代表取标题多 ...
- 齐博x1文本代码标签的使用
文本标签虽然简单,但是使用的地方确实非常多的. {qb:tag name="XXXX" type="text"}推荐新闻{/qb:tag} 类似这种使用的频率是 ...
- 齐博x1动态改变标签调用不同频道的数据
标签默认需要设置标签参数 type 指定调用哪个频道的数据,比如下面的代码,需要默认指定商城的数据, {qb:tag name="qun_pcshow_shop001" type= ...
- 齐博x1当前URL标签
当前URL标签 {:get_url('location')} 当前URL的二维码标签 {:urls('index/qrcode/index')}?url={:urlencode(get_url('lo ...
- 齐博x1到底是怎么的存在?
齐博X1是齐博软件基于thinkphp5开发的内容管理系统,拓展性非常强,后台一键升级,后台提供丰富的频道模块云市插件市场.风格市场.钩子市场,所有都是一键在线安装. 系统已经对接好QQ.微信登录,同 ...
- 齐博X1到底是个什么鬼?
什么是齐博/齐博CMS之X1? 齐博X1是齐博软件基于thinkphp5开发的内容管理系统,拓展性非常强,后台一键升级,后台提供丰富的频道模块云市插件市场.风格市场.钩子市场,所有都是一键在线安装. ...
- 齐博x1齐博首创钩子的使用方法
齐博X1有两套钩子体系,第一套是基于TP思路设计的.跟外面的大同小异.现在重点讲一下第二套我们首创的使用方法. 首先说一下如何埋钩子,这个跟TP思路的钩子类似,就是在页面的任何地方加入如下代码即可如下 ...
- 最近无聊搭建一个齐博X1的下载页面
https://layui.wanxiangsucai.com/ 用layui官方镜像站的模版 改了个齐博X1的下载页面 https://x1.wanxiangsucai.com/ 哈哈哈!!! 还有 ...
随机推荐
- Chapter 02 - Let's Get Started(C#篇)
详细解释,书上有哈.直接上代码和结果. Xcode下的自定义类 (通过new file-> cocoa class创建,保持和书中名字一样RandomController),自定义的fields ...
- PerfView专题 (第一篇):如何寻找热点函数
一:背景 准备开个系列来聊一下 PerfView 这款工具,熟悉我的朋友都知道我喜欢用 WinDbg,这东西虽然很牛,但也不是万能的,也有一些场景他解决不了或者很难解决,这时候借助一些其他的工具来辅助 ...
- 如何构建 Apache DolphinScheduler 的 Docker 镜像
继昨日发布第一个 [官方 Docker 镜像] 后,有几位小伙伴私信想自己进行编译,这里也将 Docker 的主要贡献者文禾同学整理的文档进行分享.以下是全文内容: 您能够在类 Unix 系统和 Wi ...
- 【常见】CSS3进度条Loading动画
现在,GIF 格式的进度条已经越来越少,CSS 进度条如雨后春笋般涌现.CSS3的崛起,更使得动态效果得以轻松实现,未来,必定是CSS3的天下,所以今天我就来分享一下几个常见的CSS3进度条Loadi ...
- LuoguP5201 [USACO19JAN]Shortcut(最短路树)
字典序?建树时从小枚举,用\(Dijkstra\)的血泪建好树,\(size\)大小决定贡献 #include <iostream> #include <cstdio> #in ...
- CPU性能优化干货总结
一.背景 部门成立专项组,对数智平台和站务系统做性能优化,其中目标之一为降低服务端硬件成本,即在32G内存.CPU银牌的配置下,能支撑1万+发客量.要达到此目标,需通过压力测试并配合监控系统,以QPS ...
- Github文件在线加速下载
众所周知,GitHub是一个巨大的开源宝库,以及程序员和编程爱好者的聚集地,诸多优秀的开源项目全部都是位于GitHub上.但是每当我们看到优秀的开源项目,准备去下(bai)载(piao)时,会发现速度 ...
- 痞子衡嵌入式:MCUXpresso IDE下设置代码编译优化等级的几种方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是MCUXpresso IDE下设置代码编译优化等级的几种方法. 最近公司芯片设计团队正在开发一款全新的基于 Cortex-M33 内核的 ...
- 【java】学习路线15-接口interface、匿名内部类、接口继承
class Learn03{ public static void main(String[] aa){ A b = new B(); //接口也可以用多态 b.me ...
- 自定义View4-塔防小游戏第一篇:一个防御塔+多个野怪(简易版)*
塔防小游戏 第一篇:一个防御塔+多个野怪(简易版) 1.canvas画防御塔,妖怪大道,妖怪行走路线 2.防御塔攻击范围是按照妖怪与防御塔中心距离计算的,大于防御塔半径则不攻击,小于则攻击 ...