jQuery实现页面评论栏中访客信息自动填写功能的方法 - Web前端
作者:98wpeu发布时间:2026-08-15分类:网页前端技术浏览:2
首先简单说一说仿登陆的具体操作,用户第一次登陆时会出现用于填写评论者资料的框,当用户评论完成后,将会以 cookie 的方式记录评论者资料,一年后 Cookie 自动清除,当用户再次评论时填写评论者资料的 div 将会隐藏,当用户点击“ Change ”时可以再次编辑评论者资料,同时 Change 字样会改为“ Finish ” ,点击 Finish 时填写评论者资料的 div 将会再次隐藏,同时 Change 字样将会改为 Change AgAIn 。
以下是分步叙述如何使用 JQuery 实现以上效果,如果只想实现效果的童鞋可以直接看代码。
1.加载 jQuery 库,这是必须的。
2.把 comments.PHP 的评论者资料框代码和评论框代码按如下修改:
<?php if(isset($_COOKie['comment_author_email_'.COOKIEHASH]) && isset($_COOKIE['comment_author_'.COOKIEHASH])) : ?>
<div class="commentwelcome">
<?php PRintf(__('欢迎发表评论! <strong>%1s</strong> '), $comment_author); ?><a id="edit_profile" title="重新填写资料" href="javascript:void(0);"><span>Change</span></a>
</div>
<?php endif; ?>
<div class="<?php echo $comment_author_email ? 'hidden' : 'profile'; ?>">
<!-- 评论者资料框代码 -->
</div>
<!-- 评论框代码 -->
在上面的代码中,会以 cookie 的方式记录评论者资料,并把评论者资料框的 div 赋予“ hidden ”的 class ,因此对于曾评论的访客,需要先隐藏起评论者资料框的 div ,可以使用 jquery 的hide()事件隐藏该 div ,如果 jquery 加载速度较慢,会出现打开页面时先出现 div ,片刻后再突然隐藏 div 的情况,这样显然不利用户体验,因此也可以直接写一条 CSS ——.hidden {display: none; }。
$('.hidden').hide();
3.然后再使用toggle()事件,slideUp()和slideDown()动画实现编辑评论者资料的功能。
$('#edit_profile').toggle(function(){
$('.hidden').slideDown();
},function(){
$('.hidden').slideUp();
});
4.为了提高用户体验,还需要使用text()方法在点击“Change”时把 Change 的字样改为“ Finish ”,当点击 Finish 时再把 Finish 字样改为“ Change Again ”。把以上代码整合,完整的 JQuery 代码如下:
jQuery(document).ready(function($){
$('.hidden').hide();
$('#edit_profile').toggle(function(){
$('.hidden').slideDown();
$('#edit_profile span').text("Finish");
},function(){
$('.hidden').slideUp();
$('#edit_profile span').text("Change Again");
});
});
PS:访客评论显示欢迎信息
我们通过判断$comment_author变量值是否为空,来确定访客是否在近期有评论(有 Cookie)。
if (!is_User_logged_in() && !empty($comment_author)) {
...
}
如果有,则在评论框上方显示欢迎信息:
if (!is_user_logged_in() && !empty($comment_author)) {
$welcome_login = '<p id="welcome-login"><span>欢迎回来, <strong>' . $comment_author . '</strong>.</span>';
$welcome_login .= ' <span id="toggle-author"><u>更改</u> <i class="icon-signout"></i></span></p>';
$comments_args['comment_field'] = '</div>' . $comments_args['comment_field'];
$comments_args['comment_notes_before'] = $welcome_login . '<div id="author-info" class="hide">';
}
以上代码,需要添加到主题的 comment.php 文件 comment_FORM($comments_args) 方法调用之前。
接下来,我们通过 JavaScript 来实现访客信息更改:
/* Toggle comment user */
$('#comments').on('click', '#toggle-author', function () {
$('#author-info').slideToggle(function () {
if ($(this).is(':hidden')) {
/* Update author name in the welcome messages */
$('#welcome-login strong').html($('#author').val());
/* UpDate the toggle action name */
$('#toggle-author u').HTML('更改');
} else {
/* Update the toggle action name */
$('#toggle-author u').html('隐藏');
}
});
});
这样,如果用户需要更新信息时,可以点击欢迎信息右侧的更改按钮;修改完成之后,用户信息会在评论后更新。
相关推荐
- 解决jquery无法找到其他父级子集问题的方法 - Web前端
- jquery radio的取值_radio的选中_radio的重置方法 - Web前端
- jquery实现网页的页面平滑滚动效果代码 - Web前端
- jQuery+HTML5美女瀑布流布局实现方法 - Web前端
- jQuery+HTML5美女瀑布流布局实现方法 - Web前端
- jquery 将当前时间转换成yyyymmdd格式的实现方法 - Web前端
- jQuery EasyUI Pagination实现分页的常用方法 - Web前端
- jQuery抛物线运动实现方法(附完整demo源码下载) - Web前端
- jQuery Validate插件实现表单强大的验证功能 - Web前端
- 通过Ajax使用FormData对象无刷新上传文件方法 - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


