/*
* Chat Tool Bar plugin
* 1.create a chat tool bar, at the bottom of page so in any page user can use web chat tool
* 2.create a user list, show who is already online
* 3.@author Dahai He
* 4.@date 2010-08-16
*/
(function(jQuery){
//tool bar name
this.barName = "Chat Tool Bar";
//tool bar default height
this.height = 20;
//create the tool bar div and user list div
this.initToolBar = function(barName,height){
this.barName = barName;
this.height = height;
//if the tool bar is already there, go out
if (jQuery("#chatToolBar").is("div")) {
return;
}
//build the tool bar div string
var chatToolBar = "<div id='chatToolBar' style='z-index:50;height:"+ this.height +"px;width:99%;position:absolute;bottom:0;background:#cfdef4;display:none;overflow:hidden;'>"
+ "<div id='barName' style='float:left;margin:2px 2px 2px 2px;'>"
+ "<span>"+this.barName+"</span>"
+ "</div>"
+ "<div style='float:right;margin:2px 10px 2px 2px;'>"
+ "<span id='showUsersButton' style='cursor:pointer;overflow:hidden;'>show online users</span>"
+ "</div>"
+ "</div>";
//add the tool bar div to the page
jQuery(document.body).prepend(chatToolBar);
//build the user list div
var onlineUserList = "<div id='users' style='z-index:50;height:auto;width:120px;position:absolute;bottom:"+ this.height +"px;right:10px;background:#cfdef4;overflow:hidden;display:none;border:2px black solid;'>"
+ "<span style='margin:2px auto;'>Users logged in</span>"
+ "<hr/>"
+ "<div id='userList'></div>"
+ "</div>";
//add the user list div to the page
jQuery(document.body).prepend(onlineUserList);
//when the scroll bar move, the chat tool bar will follow it
jQuery(window).scroll(
function() {
var BH_bar = document.documentElement.scrollTop;
jQuery("#chatToolBar").css("bottom", "-" + BH_bar + "px");
//the tool bar is already here, so the users list should above the tool bar
if(document.documentElement.scrollTop == 0){
jQuery("#users").css("bottom", this.height + "px");
}else{
var BH_user = BH_bar - this.height;
jQuery("#users").css("bottom", "-" + BH_user + "px");
}
}
);
//toggle if show the user list
jQuery('#showUsersButton').click(function(){
var spanElement = jQuery('#showUsersButton');
var text = spanElement.text();
if(text == "show online users"){
spanElement.text("hide online users");
jQuery("#users").show();
}else{
spanElement.text("show online users");
jQuery("#users").hide();
}
});
}
this.showToolBar = function(barName,height){
//create the tool bar
this.initToolBar(barName,height);
//get the tool bar element
var element = jQuery("#chatToolBar");
//show the tool bar
element.show(200);
//init the position of the tool bar and users list
var BH_bar = document.documentElement.scrollTop;
element.css("bottom", "-" + BH_bar + "px");
//the tool bar is already here, so the users list should above the tool bar
var BH_user = document.documentElement.scrollTop - this.height;
jQuery("#users").css("bottom", "-" + BH_user + "px");
}
//this plugin name, you can use this plugin with this name
//add this attribute to jQuery object
jQuery.chatToolBar = this;
return jQuery;
})(jQuery)
前台调用
jQuery.chatToolBar.showToolBar("Chat Tool Bar",20);
分享到:
相关推荐
`jQuery webcam plugin`是一个优秀的JavaScript库,它利用jQuery框架实现了与浏览器摄像头的交互,让用户无需离开页面即可拍摄并处理照片。 该插件的核心特性包括: 1. **易用性**:基于jQuery的API设计使得该插件...
jQuery Progress Bar Plugin是一款易于使用的进度条插件,它可以轻松地创建动态显示进度的条形图。这个插件通常用于文件上传、数据加载或任何需要反馈进度的操作。它通过简单的API调用,允许开发者定制样式、颜色、...
图书的源代部分; 还有由于容量的原因, 视频和web实例图片没有上传. 《jQuery全能权威指南:jQuery Core+jQuery Plugin+...、jQuery UI、jQuery Mobile以及大量第三方的插件库和2800多个应用jQuery技术的网页参考。
jQuery Media Plugin是一款专门为jQuery设计的多媒体插件,用于在网页中轻松集成音频、视频和图像等多媒体元素。这款插件的出现,极大地简化了开发者在HTML5时代处理多媒体内容的复杂性,使得开发者无需深入了解...
jQuery Orbit Plugin 1.2.3 是一个专为网页设计者和开发者打造的高效、灵活的轮播插件。这个版本的Orbit Plugin是jQuery库的一个扩展,它提供了丰富的功能和自定义选项,使得创建吸引人的图片轮播、内容滑动效果变得...
jQuery plugin for autocomplete - jQuery自动完成插件
**jQuery Cycle Plugin** 是一个广泛使用的JavaScript库,专门用于创建动态和交互式的图像滑块、轮播和幻灯片效果。这个插件充分利用了jQuery的简洁API和强大的DOM操作功能,使得开发者能够轻松地在网站上实现各种...
jQuery Mask Plugin是一款强大的JavaScript库,专门用于输入框内容格式化。这个插件使得开发者能够轻松地为HTML表单中的输入字段添加格式约束,比如电话号码、日期、货币等,从而提高用户界面的交互性和用户体验。它...
struts2-jquery-plugin-2.0.0 struts2-jquery-plugin-2.0.0 struts2-jquery-plugin-2.0.0
这就是jQuery Ellipsis插件发挥作用的地方,它添加了一个悬停事件,使得用户可以鼠标悬停查看完整的文本内容。 安装jQuery Ellipsis插件非常简单。首先,确保你的项目中已经包含了jQuery库。然后,你可以通过以下...
对于“simple jQuery date-picker plugin”,它是基于jQuery的一个日期选择插件,它提供了基本的日期选择功能,适用于那些不需要复杂日历功能的项目。以下是使用这个插件的关键步骤: 1. **引入资源**:在HTML文件...
jQuery 插件使客户端表单验证变得容易,同时仍然提供了大量的自定义选项。如果您要从头开始构建新的东西,或者当您试图将某些东西集成到具有大量现有标记的现有应用程序中时,它都是一个不错的选择。该插件捆绑了一...
jQuery Validation Plugin 是一个用于前端表单验证的强大工具,它为jQuery用户提供了方便快捷的方法来验证用户输入的数据,确保数据的准确性和完整性。这个插件能够帮助开发者创建用户友好、反馈及时的表单,提高...
jQuery UI虽然本身并未内置专门的布局插件,但社区中存在一些第三方扩展,例如“jQuery UI Layout”(也称为“UI Layout”或“Layout Plugin”),它基于jQuery和jQuery UI,为开发者提供了一种高效的方式来创建多...
总结,jQuery Masked Input Plugin是一个强大而灵活的工具,它可以帮助开发者实现输入格式的控制,提升Web应用的专业性和用户体验。通过深入理解并熟练运用其各种特性和方法,我们可以为用户创造更为友好、高效的...
jquery 的经典 英文书 jQuery Plugin Development Beginner’s Guide.PDF
jQuery Waterfall Plugin是基于JavaScript库jQuery实现的一种瀑布流插件,它能帮助开发者轻松地创建具有这种布局效果的网页。 在jQuery Waterfall Plugin中,主要涉及以下核心知识点: 1. **jQuery库**:jQuery是...
jQuery Lazy Load Plugin 是一个专门为 jQuery 设计的实现这一功能的插件,它能有效地提升页面加载速度,降低用户等待时间,从而提供更好的用户体验。 标题 "Lazy Load Plugin for jQuery demo" 暗示这是一个关于...
"tableExport.jquery.plugin-master" 是一个基于jQuery的插件,主要功能是实现HTML表格的数据导出。这个插件使得Web开发者能够轻松地将网页中的表格数据导出为各种格式,如CSV、Excel、PDF和Text等,从而方便用户对...
jQuery Fancybox插件就是这样一个解决方案,它为网页中的图片提供了点击弹窗预览的功能,让图片展示变得既美观又便捷。本篇文章将详细介绍基于jQuery的Fancybox 1.3.4版本的使用方法和核心特性。 **一、jQuery与...