基于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 Web Slider 焦点图示例源码
Oct 10 Javascript
利用javascript打开模态对话框(示例代码)
Jan 11 Javascript
使用iojs的jsdom库实现同步系统时间
Apr 20 Javascript
jquery mobile 移动web(5)
Dec 20 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
Mar 06 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
Aug 28 Javascript
深入理解bootstrap框架之入门准备
Oct 09 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
Dec 18 Javascript
Vue.js 中的 $watch使用方法
May 25 Javascript
深入探讨JavaScript的最基本部分之执行上下文
Feb 12 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
Apr 22 Javascript
jquery插件实现悬浮的菜单
Apr 24 jQuery
深入理解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
BBS(php &amp; mysql)完整版(五)
2006/10/09 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
vuex的使用和简易实现
2021/01/07 Vue.js
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
写给老婆的检讨书
2014/02/21 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技