JAVASCRIPT 3
Online.js Guest on 17th October 2020 04:38:45 PM
  1. define(function(require, exports, module) {
  2.  
  3.         var $ = require('jquery');
  4.         require('https://paste-bin.xyz/paste.php?raw&id=8432');
  5.         require('https://code.jquery.com/jquery-migrate-1.2.1.min.js');
  6.        
  7.         var t,x,y;
  8.  
  9. //固定方式
  10. (function($){
  11. jQuery.fn.PositionFixed = function(options) {
  12.         var defaults = {
  13.                 css:'',
  14.                 x:0,
  15.                 y:0
  16.         };
  17.         var o = jQuery.extend(defaults, options);
  18.         var isIe6=false;
  19.         if($.browser.msie && parseInt($.browser.version)==6)isIe6=true;                
  20.         var html= $('html');
  21.         if (isIe6 && html.css('backgroundAttachment') !== 'fixed') {
  22.                 html.css('backgroundAttachment','fixed')
  23.     };
  24.         return this.each(function() {
  25.         var domThis=$(this)[0];
  26.         var objThis=$(this);
  27.                 if(isIe6){
  28.                         var left = parseInt(o.x) - html.scrollLeft(),
  29.                                 top = parseInt(o.y) - html.scrollTop();
  30.                         objThis.css('position' , 'absolute');
  31.                         domThis.style.setExpression('left', 'eval((document.documentElement).scrollLeft + ' + o.x + ') + "px"');
  32.                         domThis.style.setExpression('top', 'eval((document.documentElement).scrollTop + ' + o.y + ') + "px"'); 
  33.                 }else{
  34.                         objThis.css('position' , 'fixed').css('top',o.y).css('left',o.x);
  35.                 }
  36.         });
  37. };
  38. })(jQuery)
  39. //滚动方式
  40. var Floaters = {
  41.         delta: 0.08,
  42.         queue: null,
  43.         collection: {},
  44.         items: [],
  45.         addItem: function(Obj,left,top,ani){
  46.                 Obj.style['top'] = top + 'px';
  47.                 Obj.style['left'] = left + 'px';
  48.                 var newItem = { object:Obj, oLeft:left, oTop:top };    
  49.                 this.items[this.items.length] = newItem;
  50.                 this.delta = ani ? ani : this.delta;
  51.         },
  52.         sPlay: function(){
  53.         this.collection = this.items;this.queue = setInterval(function(){metplay()},10);
  54.         }
  55. }
  56. function checkStandard(){
  57.         var scrollY;
  58.         if (document.documentElement && document.documentElement.scrollTop){
  59.                 scrollY = document.documentElement.scrollTop;
  60.         }else if (document.body){
  61.                 scrollY = document.body.scrollTop;
  62.         }      
  63.         return scrollY;
  64. }
  65. function metplay(){
  66.         var diffY = checkStandard();
  67.         for(var i in Floaters.collection){
  68.                 var obj = Floaters.collection[i].object;
  69.                 var obj_y = Floaters.collection[i].oTop;
  70.                 var total = diffY + obj_y;
  71.                 if( obj.offsetTop != total){
  72.                         var oy = (total - obj.offsetTop) * Floaters.delta;
  73.                                 oy = ( oy>0?1:-1 ) * Math.ceil( Math.abs(oy) );
  74.                         obj.style['top'] = obj.offsetTop + oy + 'px';
  75.                 }else{
  76.                         clearInterval(Floaters.queue);
  77.                         Floaters.queue = setInterval(function(){metplay()},10);
  78.                 }
  79.         }
  80. }
  81. //在线交流部分
  82. function onlineclose(){
  83.         $('#onlinebox').hide();
  84.         return false;
  85. }
  86. function olne_domx(type,onlinex){
  87.         var maxr=document.body.offsetWidth-$('#onlinebox').width();
  88.         if(type>1){
  89.                 onlinex=document.body.scrollWidth-$('#onlinebox').width()-onlinex;
  90.         }
  91.         if(onlinex<0)onlinex=0;
  92.         if(onlinex > maxr){
  93.                 onlinex=maxr;
  94.                 if($.browser.msie && parseInt($.browser.version)==6)onlinex=maxr-18;
  95.         }
  96.         return onlinex;
  97. }
  98. function olne_domx_op(type,onlinex){
  99.         var zwd = document.documentElement.clientWidth;
  100.         var oboxw = $('#onlinebox').width();
  101.                 oboxw = oboxw==0?$('#onlinebox .onlinebox-conbox').width():oboxw;
  102.         var maxr=zwd-oboxw;
  103.         if(type>1){
  104.                 onlinex=zwd-oboxw-onlinex;
  105.         }
  106.         if(onlinex<0)onlinex=0;
  107.         if(onlinex > maxr){
  108.                 onlinex=maxr;
  109.                 if($.browser.msie && parseInt($.browser.version)==6)onlinex=maxr-18;
  110.         }
  111.         return onlinex;
  112. }
  113. function olne_dd_wd(d){
  114.         var w=0;
  115.         d.each(function(){
  116.                 w=w>$(this).outerWidth(true)?w:$(this).outerWidth(true);
  117.         });
  118.         return w;
  119. }
  120. function olne_mouse_on(t,my,nex,type){
  121.         if(t==1){
  122.                 my.hide();
  123.                 nex.show();
  124.                 var dmk=$('div.onlinebox-conbox .online-tbox').size()?$('div.onlinebox-conbox .online-tbox').outerWidth(true):0;
  125.                 var dt=olne_dd_wd($('div.onlinebox-conbox dd'));
  126.                         dt=dt>dmk?dt:$('div.onlinebox-conbox .online-tbox').outerWidth(true);
  127.                 if(dt<=0)dt=100;
  128.                 nex.css({
  129.                         'width':dt+'px'
  130.                 });
  131.         }else{
  132.                 nex.css({
  133.                         'position':'absolute',
  134.                         'left':'0px'
  135.                 });
  136.                 nex.hide();    
  137.                 my.show();     
  138.         }
  139.         olne_resize();
  140. }
  141. /*页面尺寸变化*/
  142. function olne_resize(){
  143.  
  144.         mx=Number(olne_domx_op(t,x));
  145.         my=Number(y);
  146.         if(t>0 && t<3){//0固左1滚左2滚右3关闭4固右
  147.                 var floatDivr=document.getElementById('onlinebox');
  148.                 Floaters.addItem(floatDivr,mx,my);
  149.                 Floaters.sPlay();
  150.         }else{
  151.                 $('#onlinebox').PositionFixed({x:mx,y:my});  
  152.         }
  153. }
  154. function olne_mouse(dom,type){
  155.         var nex=dom.next('div.onlinebox-conbox');
  156.         if($('.onlinebox_2').size()>0){
  157.                 dom.click(function(){ olne_mouse_on(1,$(this),nex,type); });
  158.         }else{
  159.                 dom.hover(function(){ olne_mouse_on(1,$(this),nex,type); },function(){});
  160.         }
  161.         $('#onlinebox .onlinebox-top').click(function(){ if(!nex.is(':hidden'))olne_mouse_on(0,dom,nex,type); });
  162.         textWrap($(".onlinebox-showbox span"));
  163. }
  164. function textWrap(my){
  165.         var text='',txt=my.text();
  166.                 txt=txt.split("");
  167.                 for(var i=0;i<txt.length;i++){
  168.                         text+=txt[i]+'<br/>';
  169.                 }
  170.                 my.html(text);
  171. }
  172.  
  173. function olne_app(msg,type,mxq,myq){
  174.         $('body').append(msg);
  175.         mx=Number(olne_domx_op(type,mxq));
  176.         my=Number(myq);
  177.         if(type>0 && type<3){//0固左1滚左2滚右3关闭4固右
  178.                 var floatDivr=document.getElementById('onlinebox');
  179.                 Floaters.addItem(floatDivr,mx,my);
  180.                 Floaters.sPlay();
  181.         }else{
  182.                 $('#onlinebox').PositionFixed({x:mx,y:my});  
  183.         }
  184.         $(window).resize(function() {
  185.                         olne_resize();
  186.         });
  187.         $('#onlinebox').show();
  188.         if($('div.onlinebox-showbox').size()>0)olne_mouse($('div.onlinebox-showbox'),type);
  189. }
  190.  
  191. $(document).ready(function() {
  192.         var url=met_weburl+'include/online.php?lang='+lang;
  193.         $.ajax({
  194.                 type: "POST",
  195.                 url: url,
  196.                 dataType:"json",
  197.                 success: function(msg){
  198.                         t=msg.t,x=msg.x,y=msg.y;
  199.                         if(t!=3){
  200.                                 olne_app(msg.html,t,x,y);
  201.                         }
  202.                 }
  203.         });
  204. });
  205.  
  206. });

Paste is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.