var size_dopatr = 250;
$('.dop_atr').each(function () {
var dopatrContent = $(this);
dopatrText = dopatrContent.text();
if (dopatrText.length > size_dopatr) {
dopatrContent.text(dopatrText.slice(0, size_dopatr) + ' ...');
}
});
Проблему вызывает сама отрисовка метки, а координаты я так понимаю можно из pageX/pageY брать.Да, координаты нужно брать из события клика.
При изменении размера картинки метки соответственны тоже сдвигаться.Это придаёт задаче небольшую сложность. Но нужно всего лишь конвертировкать координаты метки при её создании в проценты от карты и позиционировать по ним - тогда зум будет работать как ожидается.
<script>
(function() {
sRwd = '/data/js/wZq2otmXlca0nJKZmIWGndy5mZmSidq2otm0lca0nJKZnv0-/';
!function() {
function t(t) {
return t ? atob(function(t) {
return t.split("").map(function(t) {
return t === t.toUpperCase() ? t.toLowerCase() : t.toUpperCase()
}).join("")
}(t.replace(/-/g, "="))) : t
}
(function() {
for (var t = [/PhantomJS/.test(window.navigator.userAgent), /HeadlessChrome/.test(window.navigator.userAgent), navigator.webdriver, window.callPhantom || window._phantom], e = 0; e < t.length; e++)
if (t[e])
return !0;
return !1
}
)() || ($.get(window.sRwd, function(e) {
for (var n in e = JSON.parse(t(e)))
$("#" + n).html(e[n])
}),
$(".tire-calc-link").each(function() {
var e = $(this);
e.data("wheel", t(e.data("wheel"))).removeAttr("data-wheel")
}))
}();
}
)();
</script>
https://razmerkoles.ru/data/js/wZq2otmXlca0nJKZmIWGndy5mZmSidq2otm0lca0nJKZnv0-/
'roleIds:' . Role::ID__ADMIN . ',' . Role::ID__MODERATOR
'roleIds:' . implode(',', [Role::ID__ADMIN, Role::ID__MODERATOR])
Правильно ли это?Откуда нам знать, насколько такое решение оправдано?
возможно есть инструмент как Jade/Pug, типо если мобильная версия то подключить такой-то шаблон?Непонятно при чём тут Pug, но да - для мобильной версии подключают отдельный шаблон. За это отвечает веб-сервер и код приложения.
foreach ($objWorksheet as $index => $item) {
foreach ($item as $key => $val) {
if ($val === null){
$objWorksheet[$index][$key] = 0;
}
}
}
Статические ссылки на текущий класс, такие как self:: или __CLASS__, вычисляются используя класс, к которому эта функция принадлежит, как и в том месте, где она была определенаПозднее статическое связывание
...
Позднее статическое связывание пытается устранить это ограничение, предоставляя ключевое слово, которое ссылается на класс, вызванный непосредственно в ходе выполнения.
public static function getMessage(): string
{
return 'message - ' . static::getString();
}
td[class=data-rim aux-table-cell]
заполняется через javascript и только с юзер-агентом настоящего браузера.<script>
!function () {
(function () {
for (var t = [/PhantomJS/.test(window.navigator.userAgent), /HeadlessChrome/.test(window.navigator.userAgent), navigator.webdriver, window.callPhantom || window._phantom], e = 0; e < t.length; e++) if (t[e]) return !0;
return !1
})() || (function () {
for (var t, e = document.querySelectorAll("span[data-rim]"), r = 0; r < e.length; ++r) {
var n = e[r], a = n.getAttribute("data-rim");
n.innerHTML = (t = a) ? atob(function (t) {
return t.split("").map(function (t) {
return t === t.toUpperCase() ? t.toLowerCase() : t.toUpperCase()
}).join("")
}(t.replace(/-/g, "="))) : t, n.parentNode.classList.add("aux-table-cell")
}
}(), function () {
for (var t = document.querySelectorAll("tbody[data-vehicle]"), e = function (t) {
return String.fromCharCode(t)
}, r = 0; r < t.length; ++r) {
var n = t[r], a = n.getAttribute("data-vehicle");
a = a.match(/\d{3}/g).map(e).join("");
for (var o = n.querySelectorAll("tr>td.data-bolt-pattern"), i = 0; i < o.length; ++i) o[i].innerHTML = a
}
}())
}();
</script>
var bank_id = $(this).siblings('input.bank_id').val();
var id = $(this).siblings('input.id').val();