const videos = document.querySelectorAll('video');
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
const video = entry.target;
if (entry.isIntersecting) {
video.play();
} else {
video.pause();
}
});
}, {rootMargin: "-50px 0px", threshold: 0.7 }); // threshold сколько процентов должно быть видно
videos.forEach(video => {
observer.observe(video);
});
<input type="text" name="recipes[]" value="1"><input type="text" name="recipes[]" value="2">
отправьте ее и посмотрите как формируется в get-строке такой параметр, а потом сделайте в вашей get-строке так же.let tmp = arr[0][j][1]; arr[0][j][1] = arr[0][j][0]; arr[0][j][0] = tmp;
let tmp = arr[j][1];
arr[j][1] = arr[j][0];
arr[j][0] = tmp;
function rotXY(arr) {
return arr.map(coordinates => coordinates.reverse());
}
<?$fuserId = CSaleBasket::GetBasketUserID();
$dbBasketItems = CSaleBasket::GetList(
array("ID" => "ASC"),
array(
"FUSER_ID" => $fuserId,
"LID" => SITE_ID,
"ORDER_ID" => "NULL",
"DELAY"=>"N"
),
false,
false,
array(
"ID", "NAME", "CALLBACK_FUNC", "MODULE", "PRODUCT_ID", "PRODUCT_PRICE_ID", "QUANTITY", "DELAY", "CAN_BUY",
"PRICE", "WEIGHT", "DETAIL_PAGE_URL", "NOTES", "CURRENCY", "VAT_RATE", "CATALOG_XML_ID",
"PRODUCT_XML_ID", "SUBSCRIBE", "DISCOUNT_PRICE", "PRODUCT_PROVIDER_CLASS", "TYPE", "SET_PARENT_ID"
)
);
while ($arBasketItems = $dbBasketItems->Fetch())
{
$allSum = ($arBasketItems["PRICE"] * $arBasketItems["QUANTITY"]);
$allWeight = ($arBasketItems["WEIGHT"] * $arBasketItems["QUANTITY"]);
$arResult[] = $arBasketItems;
}
$arOrder = array(
'SITE_ID' => SITE_ID,
'USER_ID' => $GLOBALS["USER"]->GetID(),
'ORDER_PRICE' => $allSum, // сумма всей корзины
'ORDER_WEIGHT' => $allWeight, // вес всей корзины
'BASKET_ITEMS' => $arResult // товары сами
);
$arOptions = array(
'COUNT_DISCOUNT_4_ALL_QUANTITY' => "Y",
);
$arErrors = array();
CSaleDiscount::DoProcessOrder($arOrder, $arOptions, $arErrors);
echo $arOrder["ORDER_PRICE"];?>
<?$basket = \Bitrix\Sale\Basket::loadItemsForFUser(
\Bitrix\Sale\Fuser::getId(),
\Bitrix\Main\Context::getCurrent()->getSite()
); // текущая корзина
$fuser = new \Bitrix\Sale\Discount\Context\Fuser($basket->getFUserId(true));
$discounts = \Bitrix\Sale\Discount::buildFromBasket($basket, $fuser);
$discounts->calculate();
$result = $discounts->getApplyResult(true);
$prices = $result['PRICES']['BASKET']; // цены товаров с учетом скидки
print_r($prices);
foreach ($prices as $price):
//echo $price[PRICE];?><br>
<?
$summs[]=$price[PRICE];
?>
<?endforeach;?>
<?
$a = array($summs);
$summsss = array_sum($summs);
echo $summsss;?>
$link = "<a href='https://securepayments.sberbank.ru/payment/docsite/payform-1.html?token=ТОКЕН&def=".urlencode("{'amount':'".$arResult["ORDER"]["PRICE"]."'}")."&def=".urlencode("{'description':'Оплата по заказу ".$arResult["ORDER"]["ACCOUNT_NUMBER"]." от ".$arResult["ORDER"]["DATE_INSERT"]->toUserTime()->format('d.m.Y H:i')."'}")."&def=".urlencode("{'email':'".$USER->GetEmail()."'}")."&lang=ru'>Ссылка на оплату</a>";
$(function () {
$("form[data-ajax]").on("submit", function (e) {
e.preventDefault();
var $form = $(this);
var btn = $form.find(".btn-form-submit");
// Заблокируем кнопку отправить
$(btn).prop("disabled", true);
$form.find(".input--error").removeClass("input--error");
$.post($form.attr("action"), $form.serialize(), function (json) {
if (json.result == "error") {
for (var x in json.errors) {
$form.find('[name="' + x + '"]').addClass("input--error");
}
} else if (json.result == "redirect") {
window.location.href = json.url;
} else {
$form.html(json.html);
}
}, "json").always(function () {
if (btn.length) {
// Разблокируем кнопку отправить когда ajax запрос завершится будь то успех или ошибка
$(btn).prop("disabled", false);
}
});
})
});
- this.dataTest = JSON.stringify(localStorage.localStorage);
+ this.dataTest = localStorage.localStorage;
https://api.telegram.org/bot[ТОКЕН_БОТА]/sendMessage?chat_id=@[USERNAME_КАНАЛА]&text=тест
. После перехода по ссылке будет выведен id канала, сохрани его. https://api.telegram.org/bot[ТОКЕН_БОТА]/sendMessage?chat_id=@[ID_КАНАЛА]&text=тест.
<?php
$start = microtime(TRUE);
sleep(3);
$diff = microtime(TRUE) - $start;
printf('Execution time: %s s', $diff);
Страница выдала "слишком много перенаправлений"
RewriteEngine On
RewriteRule ^(.*)$ https://new-domain.ru/$1 [R=301,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain\.ru$ [NC]
RewriteRule ^(.*)$ https://new-domain.ru/$1 [R=301,L]
https://old-domain.ru
на https://new-domain.ru