基于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 相关文章推荐
javascript 动态添加表格行
Jun 22 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
Apr 25 Javascript
JS简单实现文件上传实例代码(无需插件)
Nov 15 Javascript
JS 使用for循环遍历子节点查找元素
Sep 06 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
Nov 28 Javascript
微信JSAPI支付操作需要注意的细节
Jan 10 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
Nov 08 Javascript
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 Javascript
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
mpvue小程序循环动画开启暂停的实现方法
May 15 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
Aug 27 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 array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
PHP分享图片的生成方法
2018/04/25 PHP
setTimeout和setInterval的深入理解
2013/11/08 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
详解微信小程序开发之formId使用(模板消息)
2019/08/27 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
Python+django实现文件上传
2016/01/17 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
详解python破解zip文件密码的方法
2020/01/13 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
Python验证码截取识别代码实例
2020/05/16 Python
详解Pandas 处理缺失值指令大全
2020/07/30 Python
Python 中Operator模块的使用
2021/01/30 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
初二物理教学反思
2014/01/29 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
送达通知书
2015/04/25 职场文书
2016应届毕业生实习评语
2015/12/01 职场文书