<input type="text" value="hello world" onclick="setCursor(event)">
const setCursor = (e) => {
const input = e.target
input.focus();
input.setSelectionRange(0, 0);
}
// Чтобы проще было понять
const methods = {
"-": (a, b) => a - b,
"+": (a, b) => a + b
};
console.log(methods["+"](1, 5)) // 6
console.log(methods["-"](10, 1)) // 9
methods["+"](1, 5) // 1 + 5
// Это тоже самое что
const methods = {
substract: (a, b) => a - b
add: (a, b) => a + b
};
methods.add(1,5)
<div class="container"></div>
const run = () => {
const words =['King', 'Queen', 'Sword', 'King', 'Armor', 'King'];
const $container = document.querySelector(".container");
const getIndexes = (arr, target) => {
return arr.reduce((acc, word, i) => {
if(target === word) {
acc.push({
name: word,
index: i
})
} else {
acc.push({name: word});
}
return acc
}, [])
}
const insertHTML = (list) => {
list.forEach((item) => {
if(item.index !== undefined) {
var template = `<div data-index="${item.index}">${item.name}</div>`;
} else {
var template = `<div data-index="">${item.name}</div>`
}
$container.insertAdjacentHTML('beforeend', template)
})
}
insertHTML(getIndexes(words, "King"))
$container.addEventListener('mouseover', (e) => {
const index = e.target.getAttribute('data-index');
if(index) {
console.log(index)
}
})
}
run()
// main.js
export default {
title: "sun",
subtitle: "earth",
r: "mars"
}
<h1></h1>
<h2></h2>
<p></p>
//index.js
import data from './main.js';
// Пишем функцию, чтобы не менять каждый элемент вручную
const changeHtmlText = (querySelector, data) => {
const $element = document.querySelector(querySelector);
$element.textContent = data
}
changeHtmlText("h1", data.title);
changeHtmlText("h2", data.subtitle);
changeHtmlText("p", data.r);
// link - наша ссылка
// На ссылку вешаем событие onclick, в коллбэк передаем event(событие)
// preventDefault предотвращает дэфолтное поведение элементов страницы,
// То есть если это ссылка, то браузер не перейдет по ссылке, если это форма, то форма не отправиться и тд...
link.addEventListener('click', (e) =>{
e.preventDefault();
})
<div class="app" id="app">
<input class="type" type="search"placeholder="Добавить дело">
<button id="add"> add</button>
<button id="clear"> clear</button>
<div class="out">
</div>
</div>
<script>
let input = document.querySelector('.type'),
out = document.querySelector('.out'),
add = document.getElementById('add'),
clear = document.getElementById('clear'),
list = {}; // Объект в котором будет храниться наш todo-список
// Функция рендера, каждый раз после изменения объекта list будет заново перерисовывать контент
const renderList = () => {
out.innerHTML = ''// Очищаем блок out
for(let i in list){
// Через цикл пробегаемся через объект, и создаем соотвественные чекбоксы с класом и data-id
// data-id мы создаем когда добавляем новый todo элемент в функции addToList
let comp = document.createElement('div')
if(list[i].checked){
comp.innerHTML = `<input type="checkbox" class="checkbox-item" data-id="${i}" checked/> ${list[i].value}`
} else {
comp.innerHTML = `<input type="checkbox" class="checkbox-item" data-id="${i}"/> ${list[i].value}`
}
out.appendChild(comp)
}
}
const toggleCheckbox = (e) => {
// Изменяем статус чекбокса в объекте list
if(!e.target.classList.contains('checkbox-item')) return;
const todoId = e.target.getAttribute('data-id');
list[todoId].checked = !list[todoId].checked
}
// Функция для добавления элемента todo
const addToList = () => {
const todoId = '_' + Date.now() // Генерируем уникальный айдишник
// Это конкретный todo элемент по умолчанию checked:false
list[todoId] = {
value: input.value,
checked: false
}
input.value = ''// Очищаем форму ввода
renderList()
}
// Функция для очистки списка
// Через цикл бежим по объекту, если todo элемент имеет статус checked значит мы удаляем его из объекта
const clearList = () => {
for(let i in list){
if(list[i].checked){
delete list[i]
}
}
renderList()
}
// Слушатели событий
add.addEventListener('click', () => addToList())
clear.addEventListener('click', () => clearList())
out.addEventListener('click', () => toggleCheckbox(event))
</script>
Как добавить данные из message.text в array telebot?
qq.append(message.text)
keyboard1 = telebot.types.ReplyKeyboardMarkup(True,True)
keyboard1.row(f"{day[0]}",f"{day[1]}",f"{day[2]}")
keyboard1.row(f"{day[3]}",f"{day[4]}",f"{day[5]}")
keyboard1.row("добавить инфо")
qq = []
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Which day you need' , reply_markup=keyboard1)
@bot.message_handler(content_types=['text'])
def send_text(message):
if message.text == f"{day[0]}":
bot.send_message(message.chat.id, "some text")
elif message.text == 'добавить инфо':
bot.register_next_step_handler(message, infoAdding)
#если message.text == добавить инфо - мы переходим к функции infoAdding, message - #обязательный параметр, в нем храниться вся информация о сообщении
#(имя пользователя который его прислал, текст сообщения, id и тд..)
def infoAdding(message):
bot.send_message(message.chat.id, "Введите информацию")
bot.register_next_step_handler(msg, result)
#Здесь, в infoAdding - пользователь вводит нужную информацию,
#чтобы её получить нам нужно перейти к другой в функции
# в нашем случае result но может быть любая другая.
# Тогда в функции result придет сообщение(message) с текстом который ввёл пользователь
def result(message):
qq.append(message.text)
bot.send_message(message.chat.id, qq[0])
#Здесь мы сохраняем значение message.text в наш массив qq
#И бот отправляет нам первый элемент списка qq(для наглядности, что message.text добавлено в массив)
Почему не работает if else внутри в if bot telegram?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<style>
h1 {
font-family: 'Rubik One', sans-serif;
font-size: 50px;
background-image: radial-gradient(circle, #ffffff, #c4bcc7, #947a8a, #683d49, #370505);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: table;
}
</style>
<title>Document</title>
</head>
<body>
<h1>Test Text</h1>
</body>
</html>
from tkinter import *
root = Tk()
loadimage = PhotoImage(file="image.png")
roundedbutton = Button(root, image=loadimage)
roundedbutton["border"] = "0" # Обязательно убираем border!!
roundedbutton.pack()
root.mainloop()