Popup.js: Difference between revisions

From Wiki The-West EN
Jump to navigation
No edit summary
No edit summary
Line 135: Line 135:
     var html = createPopup($(obj).attr('data-popup'), $(obj).attr('data-cdn-cat'), $(obj).attr('data-cdn-img'));
     var html = createPopup($(obj).attr('data-popup'), $(obj).attr('data-cdn-cat'), $(obj).attr('data-cdn-img'));
     $('.popup_contents').html(html);
     $('.popup_contents').html(html);
     $('.popup_window').delay(100).show(0);
     $('.popup_window').delay(300).show(0);
console.timeEnd('popup');
console.timeEnd('popup');
}
}


function hidePopup() {
function hidePopup() {
     $('.popup_window').hide();
     $('.popup_window').dequeue().hide();
}
}

Revision as of 10:38, 14 June 2017

$('body').append('

');

$(document).mousemove(function(e) {

       if ($('.popup_window:visible').length !== 0) {
           var window_width = $(window).width();
           var window_height = $(window).height();

var popup_width = $('.popup_window:visible').outerWidth(); var popup_height = $('.popup_window:visible').outerHeight()

           var pos_x = e.clientX;
           var pos_y = e.clientY;

var top; var left; var margin_top = 20; var margin_left = 20;

           if (pos_x + popup_width + margin_left > window_width){

left = pos_x - popup_width - margin_left + (e.pageX-e.clientX); } else { left = pos_x + margin_left + (e.pageX-e.clientX); } if (pos_y + popup_height + margin_top > window_height){ top = window_height - popup_height + (e.pageY-e.clientY); } else { top = pos_y + margin_top + (e.pageY-e.clientY); }

           $('.popup_window:visible').css({
               top: top,
               left: left
           });
       }
   });

var popup = {

   dmg: {

dmg: '

', dmglvl: '

'

   },
   skills: {

str: '

', mob: '

', dex: '

', cha: '

', con: '

', vig: '

', tou: '

', sta: '

', hea: '

', rid: '

', ref: '

', dod: '

', hid: '

', swi: '

', aim: '

', sho: '

', pit: '

', fin: '

', rep: '

', lea: '

', tac: '

', tra: '

', ani: '

', app: '

'

   },
   fb: {

fbdef: '

', fboff: '

', fbres: '

', fbdefs: '

', fboffs: '

', fbdmgs: '

'

   },
   txt: {

t1: '

', t2: '

', t3: '

', t4: '

'

   },
   bonus: {

b1: '

', b2: '

', b3: '

', b4: '

'

   }

}

function createPopup(data, cdn_cat, cdn_name) {

   data = JSON.parse(data);

var html = '

<img class="popup_divider"/>


';

   for (var cat in popup) {

var cnt = 0;

       for (var key in popup[cat]) {
           if (data.hasOwnProperty(key)) {

cnt++;

               var per_level = "";
               if (Math.sign(data[key]) == -1) {
                   per_level = " (per Level)";
                   data[key] = -data[key];
               }
               html += popup[cat][key].replace('#1', data[key]).replace('#2', per_level);
           }
       }
       if (cnt > 0) {
           html += '
'; } }

html += '

';

   return html;

}

function showPopup(obj) { console.time('popup');

   var html = createPopup($(obj).attr('data-popup'), $(obj).attr('data-cdn-cat'), $(obj).attr('data-cdn-img'));
   $('.popup_contents').html(html);
   $('.popup_window').delay(300).show(0);

console.timeEnd('popup'); }

function hidePopup() {

   $('.popup_window').dequeue().hide();

}