`
<article>
<h2>${news.Title}</h2>
<div>
${store.loop(news.Channels, function(channel, index) {
return `<span>${channel.Name} (${channel.ID})</span>${store.semiclon(news.Channels.length, ++index)}`;
})}
</div>
<hr>
<small>
<a href="${news.Link}">${news.Link}</a>
</small>
<hr>
<p>${news.Description}</p>
<hr>
<div>
${store.loop(news.Tags, function(tag, index) {
return `<span>${tag.Name}</span>${store.semiclon(news.Tags.length, ++index)}`;
})}
</div>
<small>${news.Creator} | ${store.date('{DD}/{MM}/{YYYY} {hh}:{mm}:{ss}', news.PublishDate)}</small>
</article>
`
localhost:3001
а на external адрес вида 192.168.xx.xx:3001
$(function() {
let $chart = $('[data-type="chart"]');
for (let i = 0; i < $chart.length; i++) {
(function(index) {
$.ajax({
success: function() {
console.log('Замыкание', index);
}
})
})(i);
}
});
$(function() {
var $chart = $('[data-type="chart"]');
if ($chart.length) {
ajaxAll($chart, function(index) {
return getChartData($(this).data('url'), index);
}).done(function() {
console.log('ajaxAll', 'Все запросы завершенны');
});
}
function ajaxAll($selector, each) {
var promise = [];
$.each($selector, function() {
promise.push(each.apply(this, arguments));
});
return $.when.apply(null, promise);
}
function getChartData(link, index) {
return $.ajax({
url: link,
method: 'POST',
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify({
data: {
item: index
}
}),
success: function(response) {
console.log('getChartData', 'Одиночный запрос завершен успешно', index);
}
});
}
});
if (localStorage.getItem('addClass') === 'true') {
$('.target').addClass('custom');
}
$('button').on('click', function() {
$('.target').addClass('custom');
localStorage.setItem('addClass', 'true');
});
<div class="crypto"></div>
var $crypto = $('.crypto').btcav({
crypto: ['BTC', 'ETH', 'LTC'],
currency: 'USD',
sort: {
key: 'open.day',
order: 'desc'
},
show: function(data) {
return `
<div class="item">
<span class="item-name">${data.symbol}</span>
<span v-trand class="item-price">$${data.open.day}</span>
</div>
`;
}
});
<div class="crypto">
<div class="item">
<span class="item-name">BTC</span>
<span class="item-price up">$7016.04</span>
</div>
<div class="item">
<span class="item-name">ETH</span>
<span class="item-price up">$281.6768</span>
</div>
<div class="item">
<span class="item-name">LTC</span>
<span class="item-price up">$62.1099</span>
</div>
</div>
<div class="crypto"></div>
var $crypto = $('.crypto').btcav({
crypto: ['BTC', 'ETH', 'LTC'],
currency: 'USD',
sort: {
key: 'open.day',
order: 'desc'
},
show: function(data) {
return `
<div class="item">
<span class="item-name">${data.symbol}</span>
<span v-trand class="item-price">$${data.open.day}</span>
</div>
`;
}
});
<div class="crypto">
<div class="item">
<span class="item-name">BTC</span>
<span class="item-price up">$7016.04</span>
</div>
<div class="item">
<span class="item-name">ETH</span>
<span class="item-price up">$281.6768</span>
</div>
<div class="item">
<span class="item-name">LTC</span>
<span class="item-price up">$62.1099</span>
</div>
</div>
console.time('Image loading');
document.querySelector('img').addEventListener('load', function() {
console.timeEnd('Image loading'); //> Image loading: 1192.903076171875ms
});
var start = performance.now();
document.querySelector('img').addEventListener('load', function() {
var end = performance.now();
console.log(end - start); //> 13.999999999214197
});
<img data-gif-preload data-thumb="thumb.jpg" data-src="animation.gif">
(function($) {
'use strict';
$.each($('[data-gif-preload]'), function() {
$(this).attr('src', $(this).attr('data-thumb'));
$('<img/>', {
'src': $(this).attr('data-src')
}).on('load', function() {
$(this).attr('src', $(this).attr('data-src'));
}.bind(this));
});
})(jQuery);
var $test = $('.test');
$test.css({
color: 'red',
background: 'white'
});
console.log(oldCSS($test, ['color', 'background']));
function oldCSS($element, prop) {
var current = $element.attr('style');
var old = $element.removeAttr('style').css(prop);
$element.attr('style', current);
return old;
}
jQuery.fn.stylesheet = function(props) {
var current = this.attr('style');
var old = this.removeAttr('style').css(props);
this.attr('style', current);
return old;
};
var $test = $('.test');
$test.css({
color: 'red'
});
var color = $test.stylesheet('color');
console.log(color);
$('.table-results').on('click', '.test', function(e) {});
$('#create').on('click', function() {
$(this)
.after('<button class="test">Test</button>')
.next('.test')
.on('click', function() {
alert('CLICK');
});
});
var number = 0.1396943977836136;
// Сделаем из числа строку
var string = String(number);
// Возьмем последний символ строки, сделаем из него число и добавим 1
// Это будет готовый последний символ
var increment = Number(string[string.length - 1]) + 1;
// Удалим последний символ из строки и добавим готовый символ
var result = string.slice(0, -1) + increment;
console.log(result); //> 0.1396943977836137
function incrementDigits(number) {
var string = String(number);
return Number(string.slice(0, -1) + (Number(string[string.length - 1]) + 1));
}
incrementDigits(0.521512); //> 0.521513
var a = 1;
var b = 2;
var c = 3;
var a = 1, b = 2, c = 3;
var html = '<div class="container"><h1 class="title" data-attr="true" title="test">Title</h1><p class="text">Lorem ipsum dolor sit amet.</p></div>';
var $html = $(html);
$('h1.title', $html).text(); //> Title
$('h1.title', $html).attr('data-attr'); //> true
$('h1.title', $html).data('attr'); //> true
var $html = $.parseHTML(html);
function parseHTML(string) {
var template = document.implementation.createHTMLDocument();
template.body.innerHTML = string;
return template.body.children;
}
var html = parseHTML('<div class="container"><h1 class="title" data-attr="true" title="test">Title</h1><p class="text">Lorem ipsum dolor sit amet.</p></div>')[0];
html.querySelector('.title').getAttribute('data-attr'); //> "true"
http_build_query.js
если есть $.param(), чтобы перевести обратно можете создать свой небольшой метод или гуглите unparam, deparam
;(function($) {
$.extend({
unparam: function(param) {
if (param[0] === '?') param = param.slice(1);
var re = {};
for (var i = 0, arr = param.split('&'), kv; kv = arr[i]; i++) {
kv = kv.split('=');
re[kv[0]] = kv[1];
}
return re;
}
});
})(jQuery);
var param = $.param({
el_1: 'option_1_3',
el_2: 'option_1_2'
});
//> "el_1=option_1_3&el_2=option_1_2"
var decode = $.unparam(param);
//> {el_1: "option_1_3", el_2: "option_1_2"}