jquery 插件入门
来源:互联网 发布:windows配置文件丢失 编辑:程序博客网 时间:2024/05/01 01:11
简述:
实现一个头像悬浮框
以jquery插件形式实现, 同时使用cookie json做缓存
,减少短期内hover时间连续触发,导致服务器过多请求
代码:
/** * 鼠标移动到头像后,出现弹出框 * @param obj */function avatarOnMouseOver(obj, userId, imageUrl){ var avatarPopWindow = $("#iuyt").removeClass("hide");$(obj).append(avatarPopWindow);callAvatarData(avatarPopWindow, userId, imageUrl);};/** * 向后台请求人员头像的数据 */function callAvatarData(popWin, userId, imageUrl){// 先从cookie中寻找,如果有的话,就不再向后台去要var userInfoStr = $.cookie(userId);if(userInfoStr != null){var userInfo = JSON.parse(userInfoStr);setUserInfoToPopWindow(popWin, userInfo)}else{$.ajax({type: "post", url: '/webproj/staff/getUserInfo', dataType:"json", data: { userId: userId }, success: function(userInfo){ setUserInfoToPopWindow(popWin, userInfo) var dateNow = new Date(); var dateExpired = new Date(); dateExpired.setTime(dateNow.getTime() + (60 * 1000)); $.cookie(userId, JSON.stringify(userInfo), {expires: dateExpired}) } }); }}function setUserInfoToPopWindow(popWin,userInfo){// 得到的数据填充人员名片$(popWin).find("#avatarName").text(userInfo.name);$(popWin).find("#avatarIconUrl").attr('src', userInfo.iconUrl);$(popWin).find("#avatarOrganizationName").text(userInfo.organizationName);$(popWin).find("#avatarPhone").text("电话:" + userInfo.phone);$(popWin).find("#avatarMobile").text("手机:" + userInfo.mobile); $(popWin).find("#avatarEmail").text("邮箱:" + userInfo.email); $(popWin).find("#avatarCompanyName").text(userInfo.companyName);}/** * 鼠标移开后,隐藏弹出框 * @param obj */function avatarOnMouseOut(obj){$("#iuyt").addClass("hide");}/** * 头像悬浮框插件 */(function($){$.fn.avatar_hover = function(options){options = $.extend({}, options);return this.each(function(){var userId = $(this).attr("data_userId");var iconUrl = $(this).attr("data_iconUrl"); $(this).mouseover(function(){ avatarOnMouseOver(this, userId, iconUrl); }) $(this).mouseout(function(){ avatarOnMouseOut(this, userId, iconUrl); })});};})(jQuery)
页面上按照自己的需求 定义了两个标签
<div id="avatar_img" class="z haoyu" data_userId="${topicInfo.topicUserVo.userId }" data_iconUrl="${topicInfo.topicUserVo.iconUrl}" > <a href="#"><img class="gb_v42" src="${topicInfo.topicUserVo.iconUrl }"></a> </div>
头像布局, 函数中利用avatar_img这个id全局初始化
<script src="${rc.contextPath}/common/static/lib/avatar_hover/js/avatar_hover_window.js" type="text/javascript"></script><#-- 话题头像悬浮框 库 END --><div class="b-card hide" id="iuyt"> <div class="bc-bgimg"> <div class="bc-icon"><img id="avatarIconUrl" class="gb_v72" src="" /></div> <div class="bc-name" id="avatarName"></div> <div class="bc-post" id="avatarOrganizationName"></div> <div class="bc-oname" id="avatarCompanyName"></div> <ul class="bc-more"> <li id="">手机:保密</li> <li id="avatarPhone">电话:</li> <li id="avatarEmail">邮箱:</li> </ul> </div></div><!--limia--><script type="text/javascript" >$(function(){ $("#avatar_img").avatar_hover({ });})</script>
0 0
- jQuery插件入门
- jquery 插件入门
- JQuery插件开发入门
- jQuery插件开发入门
- Jquery插件编写入门
- jQuery写插件入门
- jquery插件入门
- jquery插件开发入门
- jQuery dataTables表格插件入门
- JQuery插件开发入门(原创)
- JQuery入门(9)自定义插件
- JQuery插件Mmenu使用入门
- jquery验证插件快速入门
- jQuery之插件开发入门
- jQuery的Form插件的简单入门
- jquery的Form插件简单入门
- jquery插件:jqgrid的入门使用心得
- jquery.qtip插件的简单入门
- 计算机网络笔记---网络层---VPN和NAT
- swift论坛正式上线
- GitHub项目推介_DCIntrospect
- 鸟哥的linux私房菜-首次登陆与在线求助1
- web.config 配置文件
- jquery 插件入门
- socket网络通讯基础笔记
- 从微信谈起,如何优化互联网APP心跳机制----智能心率+短信推送
- [Java 12 IO] File 类 的几个基本操作
- lua 5.2 实现luaL_register 功能
- redhat6.4安装后的没有图形用户界面解决方案
- UML用例知识点
- Swing抗锯齿处理
- JNDI 是什么