| Server IP : 89.248.107.232 / Your IP : 216.73.217.70 Web Server : Apache System : Linux host2.kasilh.com 5.14.0-687.36.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 7 05:40:49 EDT 2026 x86_64 User : seg ( 10005) PHP Version : 7.4.33 Disable Function : opcache_get_status MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/vhosts/seg-sa.es/atjconsultores.com/wp-content/plugins/gk-nsp/ |
Upload File : |
/*
* GK News Show Pro
*
* @version: 1.0.0
* @date: 22-03-2014
* @desc: Complex widget for displaying WordPress posts, WooCommerce products, XML/JSON file content and RSS feeds.
* @author: GavickPro
* @email: info@gavick.com
*
*/
(function() {
"use strict";
jQuery(window).load(function() {
jQuery(document).find('.gk-nsp').each(function(i, widget) {
if (!jQuery(widget).hasClass('activated')) {
new GK_NSP(widget);
}
});
});
var GK_NSP = function(widget) {
// init class fields
this.init_fields(widget);
// init the interface
this.init_interface();
};
GK_NSP.prototype = {
// class fields
animation: true,
arts: null,
arts_block_width: 0,
arts_current: 0,
arts_pages: null,
arts_per_page: null,
config: null,
hover: false,
links: null,
links_block_width: 0,
links_pages: null,
links_pages_amount: null,
links_current: 0,
modInterface: null,
module: null,
anim_property: '',
//
init_fields: function(module) {
// the most important class field ;)
this.module = jQuery(module);
this.module.addClass('activated');
// rest of the fields
this.config = [];
this.config.animation_speed = 400;
this.config.autoanim = this.module.attr('data-autoanim') === 'on' ? true : false;
this.config.autoanim_interval = this.module.attr('data-autoanimint') !== '' ? this.module.attr('data-autoanimint') : 5000;
this.config.autoanim_hover = this.module.attr('data-autoanimhover') === 'on' ? true : false;
this.config.news_column = this.module.attr('data-cols');
this.config.news_rows = this.module.attr('data-rows');
this.config.links_amount = this.module.attr('data-links');
this.arts = this.module.find('.gk-nsp-art');
this.arts_pages = this.module.find('.gk-nsp-arts-page');
this.arts_per_page = this.config.news_column * this.config.news_rows;
this.links = (this.module.find('.gk-nsp-links-scroll')) ? this.module.find('.gk-nsp-links-scroll li') : [];
this.links_pages = this.module.find('.gk-nsp-list');
this.links_pages_amount = Math.ceil(Math.ceil(this.links.length / this.config.links_amount));
this.modInterface = {
top: this.module.find('.gk-nsp-arts-nav'),
bottom: this.module.find('.gk-nsp-links-nav')
};
this.pages_amount = Math.ceil(this.arts.length / this.arts_per_page);
this.anim_property = jQuery('html').attr('dir') === 'rtl' ? 'right' : 'left';
},
init_interface: function() {
var $this = this;
// arts
if (this.arts.length > 0) {
this.arts_block_width = 100;
}
// events
this.module.mouseenter(function() {
if (!$this.module.hasClass('onhover')) {
$this.module.addClass('onhover');
}
});
//
this.module.mouseleave(function() {
if ($this.module.hasClass('onhover')) {
$this.module.removeClass('onhover');
}
});
// links
if (this.links.length > 0) {
this.links_block_width = 100;
}
// top interface
this.nsp_art_list(0, 'top');
this.nsp_art_list(0, 'bottom');
//
if (this.modInterface.top && this.modInterface.top.find('.gk-nsp-pagination')) {
this.modInterface.top.find('.gk-nsp-pagination li').each(function(i, item) {
jQuery(item).click(function() {
$this.arts_anim(i);
});
});
}
//
if (this.modInterface.top && this.modInterface.top.find('.gk-nsp-prev')) {
this.modInterface.top.find('.gk-nsp-prev').click(function() {
$this.arts_anim('prev');
});
this.modInterface.top.find('.gk-nsp-next').click(function() {
$this.arts_anim('next');
});
}
// bottom interface
if (this.modInterface.bottom && this.modInterface.bottom.find('.gk-nsp-pagination')) {
this.modInterface.bottom.find('.gk-nsp-pagination li').each(function(i, item) {
jQuery(item).click(function() {
$this.lists_anim(i);
});
});
}
//
if (this.modInterface.bottom && this.modInterface.bottom.find('.gk-nsp-prev')) {
this.modInterface.bottom.find('.gk-nsp-prev').click(function() {
$this.lists_anim('prev');
});
this.modInterface.bottom.find('.gk-nsp-next').click(function() {
$this.lists_anim('next');
});
}
if (this.config.autoanim) {
setTimeout(function() {
$this.autoanim();
}, this.config.autoanim_interval);
if (this.config.autoanim_hover) {
this.module.mouseenter(function() {
$this.hover = true;
});
this.module.mouseleave(function() {
$this.hover = false;
});
}
}
// article touch events
var arts_pos_start_x = 0;
var arts_pos_start_y = 0;
var arts_time_start = 0;
var arts_swipe = false;
var arts_container = jQuery(this.module.find('.gk-nsp-arts'));
arts_container.bind('touchstart', function(e) {
arts_swipe = true;
var touches = e.originalEvent.changedTouches || e.originalEvent.touches;
if (touches.length > 0) {
arts_pos_start_x = touches[0].pageX;
arts_pos_start_y = touches[0].pageY;
arts_time_start = new Date().getTime();
}
});
arts_container.bind('touchmove', function(e) {
var touches = e.originalEvent.changedTouches || e.originalEvent.touches;
if (touches.length > 0 && arts_swipe) {
if (
Math.abs(touches[0].pageX - arts_pos_start_x) > Math.abs(touches[0].pageY - arts_pos_start_y)
) {
e.preventDefault();
} else {
arts_swipe = false;
}
}
});
arts_container.bind('touchend', function(e) {
var touches = e.originalEvent.changedTouches || e.originalEvent.touches;
if (touches.length > 0 && arts_swipe) {
if (
Math.abs(touches[0].pageX - arts_pos_start_x) >= 30 &&
new Date().getTime() - arts_time_start <= 500
) {
if (touches[0].pageX - arts_pos_start_x > 0) {
$this.arts_anim('prev');
} else {
$this.arts_anim('next');
}
}
}
});
// links touch events
var links_pos_start_x = 0;
var links_pos_start_y = 0;
var links_time_start = 0;
var links_swipe = false;
var links_container = jQuery(this.module.find('.gk-nsp-links'));
links_container.bind('touchstart', function(e) {
links_swipe = true;
var touches = e.originalEvent.changedTouches || e.originalEvent.touches;
if (touches.length > 0) {
links_pos_start_x = touches[0].pageX;
links_pos_start_y = touches[0].pageY;
links_time_start = new Date().getTime();
}
});
links_container.bind('touchmove', function(e) {
var touches = e.originalEvent.changedTouches || e.originalEvent.touches;
if (touches.length > 0 && links_swipe) {
if (
Math.abs(touches[0].pageX - links_pos_start_x) > Math.abs(touches[0].pageY - links_pos_start_y)
) {
e.preventDefault();
} else {
links_swipe = false;
}
}
});
links_container.bind('touchend', function(e) {
var touches = e.originalEvent.changedTouches || e.originalEvent.touches;
if (touches.length > 0 && links_swipe) {
if (
Math.abs(touches[0].pageX - links_pos_start_x) >= 30 &&
new Date().getTime() - links_time_start <= 500
) {
if (touches[0].pageX - links_pos_start_x > 0) {
$this.lists_anim('prev');
} else {
$this.lists_anim('next');
}
}
}
});
},
//
nsp_art_list: function(i, pos) {
var num = (i !== null) ? i : (pos === 'top') ? this.arts_current : this.links_current;
if (this.modInterface[pos] && this.modInterface[pos].find('.gk-nsp-pagination')) {
var pagination = this.modInterface[pos].find('.gk-nsp-pagination');
pagination.find('li').attr('class', '');
jQuery(pagination.find('li')[num]).attr('class', 'active');
}
},
//
arts_anim: function(dir) {
var $this = this;
jQuery(this.arts_pages[this.arts_current]).removeClass('active');
if (dir === 'next') {
this.arts_current = (this.arts_current === this.pages_amount - 1) ? 0 : this.arts_current + 1;
} else if (dir === 'prev') {
this.arts_current = (this.arts_current === 0) ? this.pages_amount - 1 : this.arts_current - 1;
} else {
this.arts_current = dir;
}
//
if (this.anim_property === 'left') {
jQuery($this.module.find('.gk-nsp-arts-scroll')).animate({
'margin-left': (-1 * this.arts_current * this.arts_block_width) + "%"
}, $this.config.animation_speed);
} else {
jQuery($this.module.find('.gk-nsp-arts-scroll')).animate({
'margin-right': (-1 * this.arts_current * this.arts_block_width) + "%"
}, $this.config.animation_speed);
}
setTimeout(function() {
jQuery($this.arts_pages[$this.arts_current]).addClass('active');
}, this.config.animation_speed * 0.5);
this.nsp_art_list(this.arts_current, 'top');
this.animation = false;
setTimeout(function() {
$this.animation = true;
}, this.config.animation_interval * 0.8);
},
//
lists_anim: function(dir) {
var $this = this;
for (var x = 0; x < 1; x++) {
var item = this.links_pages[this.links_current * 1 + x];
if (item) {
jQuery(item).removeClass('active');
}
}
if (dir === 'next') {
this.links_current = (this.links_current === this.links_pages_amount - 1) ? 0 : this.links_current + 1;
} else if (dir === 'prev') {
this.links_current = (this.links_current === 0) ? this.links_pages_amount - 1 : this.links_current - 1;
} else {
$this.links_current = dir;
}
setTimeout(function() {
for (var x = 0; x < 1; x++) {
var item = $this.links_pages[$this.links_current * 1 + x];
if (item) {
jQuery(item).addClass('active');
}
}
}, this.config.animation_speed * 0.5);
//
if (this.anim_property === 'left') {
jQuery($this.module.find('.gk-nsp-links-scroll')).animate({
'margin-left': (-1 * this.links_current * this.links_block_width) + "%"
}, $this.config.animation_speed);
} else {
jQuery($this.module.find('.gk-nsp-links-scroll')).animate({
'margin-right': (-1 * this.links_current * this.links_block_width) + "%"
}, $this.config.animation_speed);
}
this.nsp_art_list(null, 'bottom');
},
//
autoanim: function() {
var $this = this;
if (!this.hover) {
this.arts_anim('next');
}
setTimeout(function() {
$this.autoanim();
}, this.config.autoanim_interval);
}
};
})();