基于jQuery实现仿QQ空间送礼物功能代码


Posted in Javascript onMay 24, 2016

我们在QQ空间里面有一个送礼物的功能,显示了最近过生日的人。我们只要把鼠标放到如下图的生日快乐那标签上,就会显示可以给该人送的礼物!!

如下图所示:

基于jQuery实现仿QQ空间送礼物功能代码

单击其中的一个礼物,就会马上送出去。但是我们现在是要说的还有单击更多的时候,会另外弹出一个新的窗口在当前页面最前面!如下图显示:

基于jQuery实现仿QQ空间送礼物功能代码

怎么实现那上面的功能呢?

就是把鼠标放上去,弹出一天tips,单击tips里面的控件,之后弹出另外一个弹出框。

网上就会有很多比较好的插件,就先到网上去找了相对应的jquery插件。

jquery中tips的有很多插件,但是大部分都是跟随鼠标走的,你离开那个指定的位置就会消失。现在这个是把鼠标是要可以放到弹出的tips上面的。之后发现了一款符合需求又很强大的tips插件poshytip。poshytip使用简单,它还可以支持ajax来动态的加载内容来的,就可以通过数据库来调用指定分类的礼物出来了。

基于jQuery实现仿QQ空间送礼物功能代码

更多的poshytip示例和演示在:http://vadikom.com/demos/poshytip/

还需要一个弹出层的,为了更容易的去实现,把弹出层另外新作了一个页面,点击更多的时候在当前窗口加载另外一个新的页面作为弹出层。

弹出层的很多,用colorbox等其它jquery插件。直接只用使用之后,发现弹出来的窗口说链接错误!或者被取消弹出层等。那是因为我们在单击了更多的时候,弹出了一个新的窗口,鼠标离开了tips弹出来的窗口,这时候那tips出来的就会消失,而弹出加载另外的页面的被取消了。

那是要我自己来弄一个弹出层插件来了么,能写当然好 。对于不是js告诉来,找一款比较简单的来定制不是更快捷。这里https://3water.com/article/84902.htm比较秀珍的弹出层插件。使用和修改起来也非常方便了。

用poshytip的方法loadposhytip里面加载了内容后就给绑定给更多绑定popdialog方法。只要我们就可以实现那功能了。

实现的方式就是那样的了,下面是我使用的部分js代码

function loadRecommenClick() {
 if ($("#floatBoxBg").length == 0) {
  $(".moreRecommend").PopDialog({
   Event: "click",        //触发响应事件
   title: "送礼物",       //弹出层的标题
   content: "/peoplename/toPeople.aspx?typeId=",        //弹出层的内容获取(text文本、容器ID名称、URL地址、Iframe的地址)
   width: 630,         //弹出层的宽度
   height: 400,         //弹出层的高度 
   scrollTop: 200        //层滑动的高度也就是弹出层时离顶部滑动的距离
  });
 }
}
function loadposhytip(currClass) {
 $("." + currClass).poshytip({
  className: 'tip-yellowsimple',
  content: function (updateCallback) {
   classId = $(this).attr("classId");
   var htmss = "";
   $.getJSON(gifturl + '?ac=1&classId=' + classId + '&pageSize=6&pageIndex=1' + "&r=" + Math.random(),
      function (data) {
       var container = "<div id=\"sphtml\" class=\"giftInfo1\">";
       container += "<div> 精选好礼,点击就可赠送哦!</div>";
       container += "<div class=\"birthdayGift\">";
       $.each(data[0].items, function (i, item) {
        container += " <img src=\"" + item.pic + "\" alt=\"送此件礼物给\" onclick=\"sendgift(this)\" gid=\"" + item.id + "\" yulu=\"" + item.defaultYulu + "\"/>";
       });
       container += "</div>";
       container += "<div class=\"moreRecommend\" >更多推荐</div>";
       container += "</div>";
       if (data[0].count == "0")
        container = "还没有添加礼品,请联系管理员添加!";
       updateCallback(container);
      }
     );
   return "加载中.....";
  },
  alignTo: 'target',
  alignX: 'center',
  alignY: 'bottom',
  offsetX: 0,
  offsetY: 5
 });
  loadRecommenClick();
}

由于这是用在项目中去了,没有做出demo出来,我就只上图两种了。其中礼物都是通过数据库添加的,ajax加载出来的。

基于jQuery实现仿QQ空间送礼物功能代码

基于jQuery实现仿QQ空间送礼物功能代码

以上所述是小编给大家介绍的基于jQuery实现仿QQ空间送礼物功能代码的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 图片上传按比例预览插件集合
May 28 Javascript
javascript SpiderMonkey中的函数序列化如何进行
Dec 05 Javascript
javascript向flash swf文件传递参数值注意细节
Dec 11 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
Jan 11 Javascript
多个$(document).ready()的执行顺序实例分析
Jul 26 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
Jun 24 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
Dec 14 Javascript
JavaScript中数组的各种操作的总结(必看篇)
Feb 13 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 Javascript
详解使用Next.js构建服务端渲染应用
Jul 10 Javascript
vue如何截取字符串
May 06 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
Aug 13 Javascript
深入理解JavaScript中为什么string可以拥有方法
May 24 #Javascript
jQuery height()、innerHeight()、outerHeight()函数的区别详解
May 23 #Javascript
JavaScript程序中的流程控制语句用法总结
May 23 #Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 #Javascript
谈一谈bootstrap响应式布局
May 23 #Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
May 23 #Javascript
JavaScript的Vue.js库入门学习教程
May 23 #Javascript
You might like
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python按钮的响应事件详解
2019/03/04 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
Python 求数组局部最大值的实例
2019/11/26 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
Python grpc超时机制代码示例
2020/09/14 Python
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
JDO的含义
2012/11/17 面试题
大学本科毕业生求职信范文
2013/12/18 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
社会发展项目建议书
2014/08/25 职场文书
报效祖国演讲稿
2014/09/15 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
Mysql数据库命令大全
2021/05/26 MySQL