Popup.js: Difference between revisions

From Wiki The-West EN
Jump to navigation
No edit summary
No edit summary
Line 2: Line 2:


$(document).mousemove(function(e) {
$(document).mousemove(function(e) {
        if ($('.popup_window:visible').length !== 0) {
    if ($('.popup_window:visible').length !== 0) {
            var window_width = $(window).width();
        var window_width = $(window).width();
            var window_height = $(window).height();
        var window_height = $(window).height();
var popup_width = $('.popup_window:visible').outerWidth();
        var popup_width = $('.popup_window:visible').outerWidth();
var popup_height = $('.popup_window:visible').outerHeight()
        var popup_height = $('.popup_window:visible').outerHeight()
            var pos_x = e.clientX;
        var pos_x = e.clientX;
            var pos_y = e.clientY;
        var pos_y = e.clientY;
var top;
        var top;
var left;
        var left;
var margin_top = 20;
        var margin_top = 20;
var margin_left = 20;
        var margin_left = 20;
            if (pos_x + popup_width + margin_left > window_width){
        if (pos_x + popup_width + margin_left > window_width) {
left = pos_x - popup_width - margin_left + (e.pageX-e.clientX);
            left = pos_x - popup_width - margin_left + (e.pageX - e.clientX);
} else {
        } else {
left = pos_x + margin_left + (e.pageX-e.clientX);
            left = pos_x + margin_left + (e.pageX - e.clientX);
}
        }
if (pos_y + popup_height + margin_top > window_height){
        if (pos_y + popup_height + margin_top > window_height) {
top = window_height - popup_height + (e.pageY-e.clientY);
            top = window_height - popup_height + (e.pageY - e.clientY);
} else {
        } else {
top = pos_y + margin_top + (e.pageY-e.clientY);
            top = pos_y + margin_top + (e.pageY - e.clientY);
}
            $('.popup_window:visible').css({
                top: top,
                left: left
            });
         }
         }
     });
        $('.popup_window:visible').css({
            top: top,
            left: left
        });
     }
});
 
if ($("#input_level").length == 1) {
    var input_level = $('<input type="number" class="west" placeholder="Level" min="0" max="150">').bind("propertychange keyup input paste", function() {
        if (this.value > 150) {
            this.value = 150;
        } else if (this.value < 0) {
            this.value = 0;
        }
        $(".calc").each(function() {
            if (input_level.val() == 0) {
                $(this).html(this.id);
                $('.per_level_off').addClass('per_level').removeClass('per_level_off');
            } else {
                $(this).html(Math.ceil(Number(this.id) * input_level.val()));
                $('.per_level').addClass('per_level_off').removeClass('per_level');
            }
        });
    }).appendTo($("#input_level"));
}
 
 
//Search
if ($("#input_search").length == 1) {
    var input_search = $('<input type="search" class="west" placeholder="Search">').bind("propertychange keyup input paste", function() {
        if (this.value == '') {
            $('.item_container').show();
        } else {
            $('.item_container').hide();
            $('.item_container[data-popup*="' + this.value + '"]').show();
        }
    }).appendTo($("#input_search"));
}


var popup = {
var popup = {
Line 85: Line 117:
function createPopup(data, cdn_cat, cdn_name) {
function createPopup(data, cdn_cat, cdn_name) {
     data = JSON.parse(data);
     data = JSON.parse(data);
     var html = '<div class="popup_image"><img src="https://westzzs.innogamescdn.com/images/items/' + data.cdn_cat + '/' + data.cdn_img + '.png' + '"/></div><div class="popup_divider"></div><p class="popup_name">' + data.name + '</p><p class="popup_type">' + data.type + '</p><br/>';
     var html = '<div class="popup_image"><img src="https://westzzs.innogamescdn.com/images/items/' + data.cdn_cat + '/' + data.cdn_img + '.png' + '"/></div><img class="popup_divider"/><p class="popup_name">' + data.name + '</p><p class="popup_type">' + data.type + '</p><br/>';
     for (var cat in popup) {
     for (var cat in popup) {
var cnt = 0;
        var cnt = 0;
         for (var key in popup[cat]) {
         for (var key in popup[cat]) {
             if (data.hasOwnProperty(key)) {
             if (data.hasOwnProperty(key)) {
cnt++;
                cnt++;
                 var per_level = "";
                 var per_level = "";
                 if (Math.sign(data[key]) == -1) {
                 if (Math.sign(data[key]) == -1) {
                     per_level = " (per Level)";
                     if ($('#input_level input').val() > 0) {
                    data[key] = -data[key];
                        data[key] = Math.ceil(-$('#input_level input').val() * data[key]);
                    } else {
                        per_level = " (per Level)";
                        data[key] = -data[key];
                    }
                 }
                 }
                 html += popup[cat][key].replace('#1', data[key]).replace('#2', per_level);
                 html += popup[cat][key].replace('#1', data[key]).replace('#2', per_level);
Line 104: Line 140:
     }
     }
     html += '<div class="popup_infos">';
     html += '<div class="popup_infos">';
if (data.spd) html += '<p class="popup_speed">Speed: +'+data.spd+'%</p><br/>';
    if (data.spd) html += '<p class="popup_speed">Speed: +' + data.spd + '%</p><br/>';
if (data.set) html += '<p class="popup_set">'+data.set+'</p><br/>';
    if (data.set) html += '<p class="popup_set">' + data.set + '</p><br/>';
     if (data.sp) {
     if (data.sp) {
         html += '<img src="/images/5/57/Buy_price.png">' + data.bp + '&nbsp;&nbsp;&nbsp;&nbsp;<img src="/images/f/fc/Sell_price.png">&nbsp;' + data.sp + '<br/><br/>';
         html += '<img src="/images/5/57/Buy_price.png">' + data.bp + '&nbsp;&nbsp;&nbsp;&nbsp;<img src="/images/f/fc/Sell_price.png">&nbsp;' + data.sp + '<br/><br/>';
Line 132: Line 168:


function showPopup(obj) {
function showPopup(obj) {
console.time('popup');
    console.time('popup');
     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').show();
     $('.popup_window').show();
console.timeEnd('popup');
    console.timeEnd('popup');
}
}



Revision as of 12:41, 16 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
       });
   }

});

if ($("#input_level").length == 1) {

   var input_level = $('<input type="number" class="west" placeholder="Level" min="0" max="150">').bind("propertychange keyup input paste", function() {
       if (this.value > 150) {
           this.value = 150;
       } else if (this.value < 0) {
           this.value = 0;
       }
       $(".calc").each(function() {
           if (input_level.val() == 0) {
               $(this).html(this.id);
               $('.per_level_off').addClass('per_level').removeClass('per_level_off');
           } else {
               $(this).html(Math.ceil(Number(this.id) * input_level.val()));
               $('.per_level').addClass('per_level_off').removeClass('per_level');
           }
       });
   }).appendTo($("#input_level"));

}


//Search if ($("#input_search").length == 1) {

   var input_search = $('<input type="search" class="west" placeholder="Search">').bind("propertychange keyup input paste", function() {
       if (this.value == ) {
           $('.item_container').show();
       } else {
           $('.item_container').hide();
           $('.item_container[data-popup*="' + this.value + '"]').show();
       }
   }).appendTo($("#input_search"));

}

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) {
                   if ($('#input_level input').val() > 0) {
                       data[key] = Math.ceil(-$('#input_level input').val() * data[key]);
                   } else {
                       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').show();
   console.timeEnd('popup');

}

function hidePopup() {

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

}