#jquery
Вопрос:
У меня есть кнопка со значением = «копировать». При нажатии на кнопку она использует следующую функцию для создания привязки. URL-адрес создается, а также копируется в буфер обмена. Я могу изменить значение кнопки с «Копировать» на «Скопировано!». Чтобы упростить вещи, я хочу, чтобы значение «Скопировано!» менялось только в течение короткого периода времени. Можно ли создать функцию setTimeout или fadeOut, которая отображает «Скопировано!» только, скажем, в течение 3 секунд, а затем возвращается к исходному значению?
$( document ).ready(function() {
$( ".btn" ).click(function() {
$(this).val('Copied!');
var url = 'https://.....';
var thisId = $(this).attr('id');
var newID = url '#' thisId;
var newIdCopied = $('<input>').val(newID).appendTo('body').select()
document.execCommand('copy')
});
Комментарии:
1. Используйте
setTimeout
с обратным вызовом функции, который возвращает ее обратно.
Ответ №1:
Благодаря ответу выше мне удалось заставить его работать.
$( document ).ready(function() {
$( ".btn" ).click(function() {
$(this).val('Copied!');
var url = 'https://.....';
var thisId = $(this).attr('id');
var newID = url '#' thisId;
var newIdCopied = $('<input>').val(newID).appendTo('body').select()
document.execCommand('copy')
var $this = $(this);
$this.val('Copied!');
setTimeout(function() {
$this.val('Copy');
}, 2000);
});