基于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 相关文章推荐
将函数的实际参数转换成数组的方法
Jan 25 Javascript
jQuery操作Select的Option上下移动及移除添加等等
Nov 18 Javascript
JavaScript DOM操作表格及样式
Apr 13 Javascript
纯jquery实现模仿淘宝购物车结算
Aug 20 Javascript
浅谈javascript中replace()方法
Nov 10 Javascript
基于JavaScript实现智能右键菜单
Mar 02 Javascript
js定义类的几种方法(推荐)
Jun 08 Javascript
js实现可输入可选择的select下拉框
Dec 21 Javascript
微信小程序 引入es6 promise
Apr 12 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 jQuery
[原创]微信小程序获取网络类型的方法示例
Mar 01 Javascript
使用PreloadJS加载图片资源的基础方法详解
Feb 03 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
短波的认识
2021/03/01 无线电
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
destoon实现资讯信息前面调用它所属分类的方法
2014/07/15 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
2014/11/14 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
python统计cpu利用率的方法
2015/06/02 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
简单解决Python文件中文编码问题
2015/11/22 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
Python比较配置文件的方法实例详解
2019/06/06 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
美国珠宝网上商店:Jeulia
2016/09/01 全球购物
J2EE相关知识面试题
2013/08/26 面试题
顺丰快递Java软件工程师面试题
2015/07/31 面试题
中国梦读书活动总结
2014/07/10 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
创新社会管理心得体会
2014/09/12 职场文书
安全员岗位职责范本
2015/04/11 职场文书
致毕业季:你如何做好自己的职业生涯规划书?
2019/07/01 职场文书
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers