<button onclick="start()" type="button">Start</button>
<button onclick="stop()">Stop</button>
<canvas width="300" height="300"></canvas>
const canvas = document.querySelector('canvas');
const ctx = canvas.getContext('2d');
const coord = { x: canvas.width / 2, y: canvas.height / 3 };
const length = canvas.width / 3;
const angleMax = 120;
const angleMin = 60;
let angleChange = 1;
let angle = 60;
let active = null;
function stop() {
active = false;
}
function start() {
active = true;
draw();
}
function draw() {
if (!active) {
return;
}
const { x, y } = coord;
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.beginPath();
ctx.lineWidth = 5;
ctx.moveTo(x, y);
const _a = angle * Math.PI / 180;
ctx.lineTo(x + length * Math.cos(_a), y + length * Math.sin(_a));
angle += angleChange;
if (angle === angleMin || angle === angleMax) {
angleChange *= -1;
}
ctx.stroke();
requestAnimationFrame(draw);
}
Почему так происходит?
Мне необходимо строку передать в url
$('select').each(function() {
$(this).select2({
minimumResultsForSearch: Infinity,
dropdownParent: $(this).closest('.card-more'),
});
});
$(this).prev(value).html(this.value);
$(this).prev(value).find('.range-slider__value').html(this.value);
$('select').select2({
minimumResultsForSearch: Infinity,
dropdownParent: $('.card-more'),
});
data: () => ({
selectedPercent: null,
percents: [ 30, 40, 50 ],
...
}),
<div v-for="p in percents" @click.prevent="selectedPercent = p">
...
computed: {
header() {
return this.selectedPercent !== null ? this.selectedPercent : 'hello, world!!';
},
},
<h1>{{ header }}</h1>
const $li = $('ul li').show().slice(8).hide();
$('#loadMore').on('click', function(e) {
e.preventDefault();
$li.fadeToggle();
});
data: () => ({
items: [...Array(10)].map((n, i) => `item ${i}`),
selected: Array(4).fill(null),
}),
<select v-for="(s, i) in selected" v-model="selected[i]">
<option
v-for="n in items"
v-text="n"
:disabled="selected.includes(n)"
></option>
</select>