weiboscroll.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. $(function () {
  2. /*公告数据请求*/
  3. $.ajax({
  4. type: 'GET',
  5. url: '/js/index/aj.json',
  6. async:false,
  7. dataType: 'json',
  8. success: function(data){
  9. var html='';
  10. if(data.code == 200){
  11. $.each(data.data,function(k,v){
  12. var index = v.grade;
  13. html += '<li>';
  14. html += '<div class="div_left">';
  15. html += '<a href="javascript:viod(0);">';
  16. html += '<img src="'+rank(index)+'" title="紧急"></a>';
  17. html += '</div>';
  18. html += '<div class="div_right">';
  19. html += '<a href="#" >'+v.name+'</a>:'+v.title+'';
  20. html += '<div class="twit_item_time">'+v.time+'</div>';
  21. html += '</div>';
  22. html += '<div class="layui_btn"><button class="layui-btn layui-btn-xs">查看详情</button></div>';
  23. html += '</li>';
  24. })
  25. $('.con ul').append(html);
  26. }
  27. },
  28. error: function(xhr, type){
  29. console.log('数据请求失败!')
  30. }
  31. });
  32. /* 1 => 紧急通知 2 => 重要通知 3 => 临时通知 4 => 通知 */
  33. function rank(v){
  34. var url="";
  35. switch(v){
  36. case "1":
  37. return url ="/js/index/roll/urgent.png";
  38. break;
  39. case "2":
  40. return url ="/js/index/roll/important.png";
  41. break;
  42. case "3":
  43. return url ="/js/index/roll/temporary.png";
  44. break;
  45. case "4":
  46. return url ="/js/index/roll/inform.png";
  47. break;
  48. }
  49. }
  50. /*
  51. * 先判断滚动文字条数超过 规定条数后,再进行滚动
  52. */
  53. var _length = $('.con ul li').length;
  54. if(_length > 4){
  55. $('.con').attr('id','con');
  56. }
  57. /*
  58. * 调用框架的弹窗
  59. */
  60. layui.use([ 'laypage', 'layer', 'table', 'element','form'], function(){
  61. var laypage = layui.laypage //分页
  62. ,layer = layui.layer //弹层
  63. ,table = layui.table //表格
  64. ,element = layui.element //元素操作
  65. ,form = layui.form;
  66. /*点击查看详情*/
  67. $('.layui_btn').on('click',function(){
  68. layer.open({
  69. type: 2,
  70. title: '通知详情页',
  71. area: ['600px', '500px'],
  72. content:'/index/show',
  73. end:function(){
  74. }
  75. });
  76. })
  77. })
  78. /*
  79. * 文字向下滚动方法
  80. */
  81. var scrtime;
  82. var $ul = $("#con ul");
  83. var liFirstHeight = $ul.find("li:first").height();//第一个li的高度
  84. $ul.css({ top: "-" + liFirstHeight - 20 + "px" });//利用css的top属性将第一个li隐藏在列表上方 因li的上下padding:10px所以要-20
  85. $("#con").hover(function () {
  86. $ul.pause();//暂停动画
  87. clearInterval(scrtime);
  88. }, function () {
  89. $ul.resume();//恢复播放动画
  90. scrtime = setInterval(function scrolllist() {
  91. //动画形式展现第一个li
  92. $ul.animate({ top: 0 + "px" }, 1500, function () {
  93. //动画完成时
  94. $ul.find("li:last").prependTo($ul);//将ul的最后一个剪切li插入为ul的第一个li
  95. liFirstHeight = $ul.find("li:first").height();//刚插入的li的高度
  96. $ul.css({ top: "-" + liFirstHeight - 20 + "px" });//利用css的top属性将刚插入的li隐藏在列表上方 因li的上下padding:10px所以要-20
  97. });
  98. }, 3300);
  99. }).trigger("mouseleave");//通过trigger("mouseleave")函数来触发hover事件的第2个函数
  100. });