基于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重写windows.alert方法实现思路
Apr 03 Javascript
jQuery实现视频作为全屏幕背景
Dec 18 Javascript
jQuery实现点击图片翻页展示效果的方法
Feb 16 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
May 11 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
Aug 02 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
Sep 23 Javascript
js实现文字列表无缝滚动效果
Jun 23 Javascript
Vue下拉框回显并默认选中随机问题
Sep 06 Javascript
vue集成百度UEditor富文本编辑器使用教程
Sep 21 Javascript
微信小程序云开发之模拟后台增删改查
May 16 Javascript
layer.prompt输入层的例子
Sep 24 Javascript
解决vuecli3中img src 的引入问题
Aug 04 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 高手之路(二)
2006/10/09 PHP
php adodb分页实现代码
2009/03/19 PHP
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
PHP中多维数组的foreach遍历示例
2014/06/13 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
php计算税后工资的方法
2015/07/28 PHP
php使用正则表达式获取字符串中的URL
2016/12/29 PHP
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
IE6-8中Date不支持toISOString的修复方法
2014/05/04 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
python进阶教程之词典、字典、dict
2014/08/29 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
Python实现自动发送邮件功能
2021/03/02 Python
Python实现采用进度条实时显示处理进度的方法
2017/12/19 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
详解Python sys.argv使用方法
2019/05/10 Python
Python 画出来六维图
2019/07/26 Python
Keras实现DenseNet结构操作
2020/07/06 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
python实现控制台输出颜色
2021/03/02 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
保护环境建议书
2014/03/12 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书