我将创建一个带有复制功能的代码块界面,实现点击复制按钮时复制代码内容,并显示成功状态。
思路分析
- 使用jQuery实现复制功能
- 添加视觉反馈:复制成功后显示”已复制”状态
- 1秒后自动恢复初始状态
- 确保代码在各种情况下都能正常复制
最终实现代码
代码复制功能
代码复制功能演示
点击代码块右上角的复制按钮,可以复制代码内容。复制成功后按钮会短暂显示"已复制"状态,然后自动恢复。
// 示例代码:计算斐波那契数列
function fibonacci(n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
// 打印前10个斐波那契数
for (let i = 0; i < 10; i++) {
console.log(`fibonacci(${i}) = ${fibonacci(i)}`);
}
// 另一个示例:数组排序函数
function bubbleSort(arr) {
let len = arr.length;
for (let i = 0; i < len; i++) {
for (let j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换元素
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
// 使用示例
let numbers = [64, 34, 25, 12, 22, 11, 90];
console.log("排序前:", numbers);
console.log("排序后:", bubbleSort(numbers));
功能说明
- 复制功能:点击代码块右上角的复制按钮,可以复制代码内容
- 视觉反馈:复制成功后,按钮会短暂显示”已复制”状态
- 自动恢复:1秒后按钮自动恢复为初始状态
- 兼容性:使用了现代剪贴板API,并有备用方案确保在各种浏览器中都能正常工作
这个实现满足了所有要求,并提供了两个示例代码块来演示功能。复制功能使用了两种方法确保兼容性,并提供了清晰的用户反馈。

