一键生成轮播图 banner 插件 代码

ECSHOP后台广告设置后无法显示图片解决办法 今天是我第一次接触ecshop,听说很强大,“一键式”建站,不过强大的前提是你得摸得透,不然就会像我一样,钻牛角尖一个问题会卡很久。过多的话也就不啰嗦了,下面给大家分享下ecshop在后台设置广告后,页面中已经有了结构,为什么图片会加载不出来。 此方法试用ECSHOP 3.6版本中swiper插件生成的轮播banner。 相信很多人也遇到这个问题,而且网上也搜了相关处理办法,网上最多的方法就是 阅读详情

突然发现他好像只能用一次在一个页面[dog][dog],大家看看就行

一键生成轮播图

这是我做的一个小demo还不是特别完善输入图片路径生成轮播图其他的样式选填
在这里插入图片描述

实现功能:

  • 自动轮播
  • 左右按钮交互可切换
  • 自动适配大小(根据目标div)
  • 一键生成下面的切换的点点0.0(可切换轮播图)
  • 在切换时不可点击
  • 外层div可设置大小会根据目标div自动适配,同时可设置圆角、居中等样式默认溢出隐藏
  • 一张图片也可以进行左右轮播
  • 插入图片无上限
  • 每张图片都可插入网址
  • 可以直接复制下来放到js里直接引用(js注释里有详细的例子,哪里不懂可直接评论)
  • 可能会有bug请多多包含
  • 欢迎随时指正

可以写速度、和每张图片链接的网址根据相应的格式
图片路径和网址都得以数组的形式插入
可能会有bug技术新人多多包涵
东西非常简单就用到了JavaScript
原理是将生成的内容添加到目标元素
有什么问题可以直接评论


<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>
<body>
	<div class="oDiv"></div>
	<script src="./banner.js"></script>
	<script>
		rotationChart('.oDiv', ['1.jpg'], 2000,['http://www.zzccccc.cn']);
	</script>
</body>
</html>

JavaScript



// 编辑人:苟盛
// 日期:2020/2/5
// 名称:一键生成轮播图
// 样式:rotationChart('选择器¸任何格式', ['路径','基于index的路径', 2000 速度最小不能低于2000ms 默认2000 不用写也可以, ['网址','中间没有的写#' 不用写也可以默认没有]);
// 例: rotationChart('.oDiv', ['./images/1.png'], 2000,['http://www.zzccccc.cn']);

// 复制:rotationChart('', ['', ''], 2000,['','']);
// 				   	选择器   路径    速度   网址


Object.prototype.rotationChart = function(demo, target, time, href, style) {
	
	// demo = document.querySelector(demo)

	//选择器兼容 
	if (demo.substring(0,1) == '.') {
		demo = demo.substr(1);
		demo = document.getElementsByClassName(demo)[0];
	}else if (demo.substring(0, 1) == '#') {
		demo = demo.substr(1);
		demo = document.getElementById(demo);
	}else{
		demo = document.getElementsByTagName(demo)[0];
	}

	if (time == undefined || time < 2000) {
			time = 2000;
	}
	
	// 创建大div
	oDiv_box = document.createElement('div');
	demo.appendChild(oDiv_box);
		// 创建小div 和 a
		function oDiv_content_box () {
			
			var oDiv_content = document.createElement('div');
			oDiv_box.appendChild(oDiv_content);
			oDiv_content.appendChild(oDiv_a);

			oDiv_a.appendChild(oDiv_img);
			oDiv_content.style.float = 'left';
			oDiv_content.style.width = 100 / (target.length + 2) + '%';
			oDiv_img.style.width = '100%';


		};

		// 在最前面加上div 和a
		var oDiv_a = document.createElement('a');
		if (href != undefined) {
			oDiv_a.setAttribute('href', href[target.length - 1]);
		}
		var oDiv_img = document.createElement('img');
		oDiv_content_box();
		oDiv_img.setAttribute('src', target[target.length - 1]);

	// 创建a 和小div 总
	for (var i = 0; i < target.length; i ++) {	

		var oDiv_a = document.createElement('a');
		var oDiv_content = document.createElement('div');
		oDiv_box.appendChild(oDiv_content);
		oDiv_content.appendChild(oDiv_a);
		var oDiv_img = document.createElement('img');
		oDiv_a.appendChild(oDiv_img);
		oDiv_img.setAttribute('src', target[i]);
		
		// 给a添加网址 容错
		if (href != undefined) {
			oDiv_a.setAttribute('href', href[i]);
		}

		oDiv_box.style.width = (target.length + 2) * 100 + '%';
		oDiv_content.style.float = 'left';
		oDiv_img.style.width = '100%';
		oDiv_content.style.width = 100 / (target.length + 2) + '%';

	};
		// 给长div加效果
		oDiv_box.style.position = "relative";
		oDiv_box.style.left = '0';
		oDiv_box.style.transition = 'all 1s'
		oDiv_box.style.overflow = 'hidden';
		oDiv_box.style.left = "-100%"
		var oDiv_a = document.createElement('a');
		var oDiv_img = document.createElement('img');
		if (href != undefined) {
			oDiv_a.setAttribute('href', href[0]);
		}
		oDiv_content_box();
		oDiv_img.setAttribute('src', target[0]);
	// 创建左右切换按钮
	var oDiv_left = document.createElement('div');	
	var oDiv_right = document.createElement('div');	
	demo.appendChild(oDiv_left);
	demo.appendChild(oDiv_right);
	oDiv_left.setAttribute('id', 'oDiv_left');
	oDiv_right.setAttribute('id', 'oDiv_right');
	oDiv_right.setAttribute('style', 'width:70px;height:100px;background:rgba(0,0,0,.3);position:absolute;top:calc(50% - 50px);left:20px;font-size:70px;line-hight:70px;text-align:center;color:#fff;cursor: pointer;transition:all .5s;');
	oDiv_left.setAttribute('style', 'width:70px;height:100px;background:rgba(0,0,0,.3);position:absolute;top:calc(50% - 50px);right:20px;font-size:70px;line-hight:70px;text-align:center;color:#fff;cursor: pointer;transition:all .5s;');
	if (screen.width < 800) {
		oDiv_right.style.opacity = "1";
		oDiv_left.style.opacity = "1";
		oDiv_left.style.width = "50px";
		oDiv_left.style.height = "60px";
		oDiv_left.style.lineHeight = "60px";
		oDiv_left.style.fontSize = "35px";
		oDiv_left.style.top = "calc(50% - 30px)";
		oDiv_right.style.width = "50px";
		oDiv_right.style.height = "60px";
		oDiv_right.style.lineHeight = "60px";
		oDiv_right.style.fontSize = "35px";
		oDiv_right.style.top = "calc(50% - 30px)";
	}else {
		oDiv_right.style.opacity = "0";
		oDiv_left.style.opacity = "0";
	}
	oDiv_left.innerHTML = ">"; 
	oDiv_right.innerHTML = "<";
	// 进行点击切换按钮绑定事件
	var keep = 100;
	var spot_number = 0;
	var	spot_number_two = 0;
	var key = 0;
	var time;
		oDiv_left.onclick = function () {
				
				if (key == 0) {
						spot_number_two ++;
					if (spot_number_two == target.length + 1) {
						spot_number --;
						spot_number_two = 0;
						
					}
					if (spot_number == target.length - 1) {
						spot_number = -1;
					}
					
					
					if (keep == (target.length + 1) * 100) {
						oDiv_box.style.transition = 'all 0s'
						keep = 0;
						oDiv_box.style.left = -keep + '%';
						
						setTimeout(function () {
							oDiv_box.style.transition = 'all 1s'
						}, 5)
						
						
						setTimeout('oDiv_left.onclick()', 5)

					}
					
					spot_number ++;
					keep += 100;
					oDiv_box.style.left = -keep + '%';

					for (var i = 0;i < target.length; i ++) {
						spot[i].style.background = "#17A7CD";
						spot[spot_number].style.background = "#00305d";
					}

					key = 0;
					setTimeout(function () {
							key = 1
						}, 10)
					setTimeout(function () {
						key = 0
					}, 1000);
				}
				
		}

		oDiv_right.onclick = function () {
				
				if (key == 0) {
					spot_number_two --;
					spot_number --;
					if (spot_number == -1) {
						spot_number = target.length - 1;
					}
					for (var i = 0;i < target.length; i ++) {
						spot[i].style.background = "#17A7CD";
						spot[spot_number].style.background = "#00305d";
					}
					if (spot_number_two == -1) {
						spot_number ++;
						spot_number_two = target.length;
					}

					if (keep == 0) {
						oDiv_box.style.transition = 'all 0s'
						keep = (target.length + 1) * 100;
						oDiv_box.style.left = -keep + '%';
						
						setTimeout(function () {
							oDiv_box.style.transition = 'all 1s'
						}, 5)
						setTimeout('oDiv_right.onclick()', 10)
					}
					
					keep -= 100;
					oDiv_box.style.left = -keep + '%';

					key = 0;
					setTimeout(function () {
							key = 1
						}, 10)
					setTimeout(function () {
						key = 0
					}, 1000);
				}

		}

		clearInterval(roll)
		var roll = setInterval('oDiv_right.onclick()', time);

		// 鼠标移入移出时左右按钮隐藏出现
		demo.onmousemove = function () {
			clearInterval(roll);
			oDiv_left.style.opacity = "1";
			oDiv_right.style.opacity = "1";
		}
		demo.onmouseout = function () {
			roll = setInterval('oDiv_left.onclick()', time);
			
			if (screen.width > 500) {
				oDiv_left.style.opacity = "0";
				oDiv_right.style.opacity = "0";
			}
		}

		// 给源div加效果
		demo.style.overflow = 'hidden';
		demo.style.position = 'relative';

		//创建小点点 
		var oDiv_spots = document.createElement('div'); 
		demo.appendChild(oDiv_spots);

		// 设置样式
			
		
		if (screen.width < 800) {
			var oDiv_number = (54 * target.length / 2) + 'px';	
			oDiv_spots.setAttribute('style', 'position:absolute;top:80%;left:calc(50% - ' + oDiv_number + ');')
		}else {
			var oDiv_number = (24 * target.length / 2) + 'px';	
			oDiv_spots.setAttribute('style', 'position:absolute;top:93%;left:calc(50% - ' + oDiv_number + ');')
		}

		var spot = document.getElementsByClassName('spot')
		setTimeout(function () {
			spot[0].style.background = "#00305d";
		}, 5)
		// 创建小点点并附给他样式
		for (var i = 0; i < target.length; i ++) {

			var oDiv_spot = document.createElement('div')
			oDiv_spots.appendChild(oDiv_spot);
			// oDiv_spot.setAttribute('style', 'float:left;margin: 0px 10px;width:10px;height:10px;background:#17A7CD;border:2px solid #fff;border-radius:20px;position:relative;cursor:pointer')
			oDiv_spot.setAttribute('class', 'spot');
			if (screen.width < 500) {
				oDiv_spot.setAttribute('style', 'float:left;margin: 0px 10px;width:30px;height:15px;background:#17A7CD;border:2px solid #fff;border-radius:20px;position:relative;cursor:pointer')
			}else {
				oDiv_spot.setAttribute('style', 'float:left;margin: 0px 10px;width:10px;height:10px;background:#17A7CD;border:2px solid #fff;border-radius:20px;position:relative;cursor:pointer')
			}

			spot[i].index = i;
			spot[i].onclick = function (index) {
				keep = (this.index + 1) * 100;
				oDiv_box.style.left = -keep + '%';
				for (var j = 0; j < target.length; j ++) {
					spot[j].style.background = "#17A7CD";
					this.style.background = "#00305d"
				}	
			}
		}
		

}

Cursor 3.0零代码APP开发:AgentEdit+Composer实现自然语言造应用 RESTful API 是现代移动开发的事实标准,它定义了客户端与服务端之间清晰、可预测的交互契约;而 Jetpack Compose 作为 Android 官方推荐的声明式UI框架,正逐步取代传统XML布局。当这两者被深度集成进智能开发范式,便催生出无需手写Java/Kotlin即可构建可上架安卓APP的新路径。Cursor 3.0 的核心突破在于将自然语言需求自动映射为符合 RESTful 规范的网络调用与 Compose 声明式界面逻辑,通过 AgentEdit 触发、Composer 模型调度,把开 阅读详情

相关推荐

Web性能优化核心:图片优化实战指南与LCP提升策略

图片作为网页中体积最大、加载最慢、用户感知最强的资源,是影响Web性能优化成效的关键变量。其底层原理涉及编码格式(如WebP/AVIF)的压缩效率、响应式尺寸计算与设备像素比(dpr)的匹配逻辑、以及浏览器渲染流水线中的解码与绘制时序。技术价值体现在显著降低LCP(最大内容绘制)耗时、提升Core Web Vitals评分,并直接改善转化率与跳出率。典型应用场景覆盖电商首页Banner、资讯封面图、SaaS仪表盘图表等首屏关键图像。本文基于27个真实项目AB测试数据,系统拆解从设计稿交付、CDN动态转码到前

lanmh的专栏 789

banner代码分析

banner实现方式分析   作为一名android开发小白,最近要用到banner轮播图,于是便研究了一下banner的实现方式,在此记录一下所用到的知识点。   我是在github上看到的这个项目,地址:banner轮播图 将banner引入到项目中的方式上述链接已有描述,使用起来还是比较方便的。使用的方法如下: 接下来会对每一行代码进行分析。 1、banner.setImageLoader(new GlideImageLoader())   这里我们需要实现一个图片加载器,作用:banner的图片来

weixin_40848627的博客 3273

纯前端3D图片旋转木马组件:鼠标悬停暂停、键盘控制、一键即用

这个资源包提供一个无需框架依赖的3D层叠式图片轮播效果,所有功能由原生CSS3(transform、perspective、animation)和JavaScript实现,部分交互逻辑兼容轻量jQuery写法。图片沿Z轴分层排列,围绕中心点做平滑三维旋转,形成类似旋转木马的立体视觉效果。支持鼠标悬停自动暂停、点击左右切换、键盘方向键操作,响应及时且无卡顿。结构清晰:根目录含可直接双击运行的index.html,样式集中于css/文件夹,脚本逻辑封装在js/中,示例图片统一放在images/下,全部资源本地化

a1b2c的博客 258

【CSS】课程网站 Banner 制作 ① ( Banner 栏测量 | Banner 盒子模型代码 | 代码示例 )

一、Banner 栏测量 1、盒子模型尺寸测量 2、背景测量切图 二、Banner 盒子模型代码 1、HTML 标签结构 2、CSS 样式 3、显示效果

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 2021

智能家居公司专用静态官网模板,含多页面结构与交互功能

专为智能家居品牌设计的纯前端HTML网站模板,包含首页、关于我们(含多个子页面)、项目展示(列表页+详情页)、新闻动态和联系页等完整页面结构。代码基于HTML5语义化编写,CSS样式独立存放于css/目录,交互逻辑由js/目录下的脚本实现,图片资源统一放在images/目录。支持竖向导航菜单、Banner与背景联动切换的焦点图轮播,内置常用插件(plugins/目录)及第三方资源(Assets/、upload/等)。所有文件均为静态资源,不依赖数据库或后端服务,直接上传至任意Web服务器即可访问,适合快速上

a2b3c4d5e的博客 175

Cadence Allegro PCB文件对比实战:3分钟搞定两份设计差异(附颜色标注技巧)

本文详细介绍了如何高效使用Cadence Allegro的Design Compare功能进行PCB文件差异对比。通过实战工作流,可在3分钟内精准定位并理解两份设计在布局、布线、元件等方面的关键差异,并分享了自定义颜色标注技巧,帮助工程师快速聚焦重要修改,提升设计评审与团队协作效率。

weixin_29248653的博客 379

HBuilder-简易banner制作

点击两侧也可以切换图片。点击小球可以切换图片。

nikezhenhaokan的博客 606

STM32基于软件模拟IIC进行AHT21B温湿度采集

通过学习软件IIC来进行实操AHT21B采集温湿度。

Liu-FE的博客 3700

前端开发——轮播图banner

@[TOC]前端开发——轮播图banner 使用的是swiper.css。 要修改的点: ①img的src,其中width和height也可作出相应改变 ②根据所需轮播的图片数量在class值为swiper-wrapper的区域中复制出相应数量的div html部分: <!-- 横幅图片的广告模式 --> <!-- 专业术语:轮播图 --> <div id="banner"> <!-- <div class="contain

Congee_porridge的博客 1884

别再浪费主板上的PCIE插槽了!手把手教你用VL805芯片打造高速USB3.0扩展坞

本文详细介绍了如何利用VL805芯片将主板闲置的PCIE插槽改造为高性能USB3.0扩展坞。从芯片选型、电路设计到焊接工艺和系统调试,提供了一套完整的实战指南,帮助用户充分释放硬件潜能,实现高达5Gbps的传输速度。

weixin_27134495的博客 326

Windows Server 2012评估版过期自动关机问题:两种高效解决方案详解

本文针对Windows Server 2012评估版过期导致的自动关机问题,提供了两种高效解决方案。一是通过slmgr.vbs命令重置授权,临时延长评估期;二是使用DISM工具将评估版转换为正式版,一劳永逸。文章详细解析了两种方法的操作步骤、注意事项及适用场景,帮助用户快速恢复服务器稳定运行。

pytorchlight8的博客 1195

简单的banner代码,用css实现滚动banner焦点图, 不用jq也能滚动banner

下面介绍几种简单的滚动banner方式 1利用marquee 功能是来回滚动 属性: direction:可以设置向上滚动,默认向左 loop:循环次数(inifite和-1都是无限循环) scrollamount="" :滚动速度(单位是ms) 例如:   另外还可以设置另一个属性停止 onmouseout="this.start()" 你了解了marque

liaozhiteng的博客 1万+

Zemax实战:手把手教你设计一个40倍、NA0.65的显微物镜(附初始结构文件)

本文详细介绍了使用Zemax设计40倍、NA0.65显微物镜的完整流程,从初始结构搭建到优化验证,涵盖光学设计的关键技巧和实战经验。通过分阶段优化策略和公差分析,帮助工程师快速掌握高倍显微物镜的设计方法,提升光学系统性能。

weixin_42525369的博客 344

六十六、实现Vue项目首页轮播图(vue-awesome-swiper)

2020/10/23、 周五、今天又是奋斗的一天。

微信号:RunsenLiu 1870

脑影像分析入门:如何用一般线性模型(GLM)处理fMRI数据?

本文为神经影像研究入门者详细解析了如何运用一般线性模型(GLM)处理fMRI数据。文章从GLM的核心原理出发,逐步拆解了从实验设计、构建稳健设计矩阵、模型估计与统计推断,到高阶分析及多重比较校正的全流程,并指出了常见陷阱与结果解读要点,是掌握fMRI数据分析基础的关键指南。

weixin_29091445的博客 400

脱壳--02.exe

程序开始 使用OD打开程序 发现无法利用esp定律 程序直接运行 查找模块间调用 随便找到一个函数的调用 发现是FF15方式调用 所以是vs的程序 vs程序大致分成两种 vs20xx (特征函数:GetSystemTimeAsFileTime)和 vc++6.0(特征函数:GetVersion) 通过链接器版本 发现是vc6.0 直接在GetVersion上下断点 重新运行程序 断点断下 返回到调用处 vc6.0和易语言的第一个CALL都是GetVers...

weixin_45012273的博客 1112

AdPlayBanner:功能丰富、一键式使用的图片轮播插件

AdPlayBannerAdPlayBanner是一个Android平台基于ViewPager实现的轮播图插件,主要用以自动或者手动地播放轮播图,提供了Fresco、Picasso、Glide等图片加载方式供用户使用,以及多种图片切换动画,设置轮播时间,设置数据源顺序,提供不同分页指示器等功能,实现了一键式、灵活式的控件使用方式。下面是效果图:目前AdPlayBanner已经开源到了Github上面

RyanLee的专栏 1569

labview高低拼接的理解

计算机的一个字节由8位组成,无符号的8位整形表示的范围为0~255,范围太小了,所以用双字节,即16位整形表示更大范围的数字0 ~65535。2.labview中的高低拼接实质是高8位字节左移8位与低8位字节相加,结果是双字节整形。

qwerqwerdhr的博客 835

【Uniapp 插件 una-app-skeleton】骨架屏 / Skeleton / 加载占位 / uni-app x

una-app-skeleton 是一款专为 uni-app x / uvue 开发的骨架屏组件,适配 App 端多种加载场景。支持 7 种预设样式(banner/info/text/menu/list/waterfall/custom),提供流畅的文本流光动画效果,并支持自定义参数配置。组件通过 loading 状态自动切换骨架屏与真实内容,有效提升用户体验,同时避免重复开发加载占位代码。适用于列表页、用户信息、瀑布流等常见业务场景,兼容 Android/iOS/鸿蒙平台,是优化 App 加载体验的高效解

Una的博客 294

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OJO:AI设计自动化引擎,从模板到批量生成的技术实践

在数字化营销和内容生产中,设计自动化已成为提升效率的关键技术。其核心原理在于将设计元素组件化,并通过数据绑定与规则引擎实现动态生成,从而将设计师从重复劳动中解放出来。这项技术的核心价值在于确保品牌一致性、实现多平台适配,并打通设计与数据的壁垒,尤其适用于电商促销、社交媒体运营等需要大规模、规范化产出视觉内容的场景。本文以OJO为例,深入探讨了如何通过模板、组件与API集成,构建一套可靠的设计自动化工作流,其中涉及Figma集成、规则引擎配置等关键技术环节,为开发者与设计团队提供了从本地测试到生产部署的完整实

weixin_34221276的博客 327

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

真正为编辑而生的CMS:从技术灵活到操作直觉

内容管理系统(CMS)的本质价值,不在于架构多解耦、接口多开放,而在于能否降低编辑的认知负荷,支撑真实内容生产场景。所谓‘灵活’,应体现为对编辑工作流的深度理解——如插入图表时自动处理版权与响应式适配,紧急替换Banner无需开发介入,协作批注直接触发结构化任务。这种灵活性根植于动态字段策略、隐式结构化编辑、操作级协同与发布即服务等工程实践,其技术价值在于将内容建模、多端分发、合规审计等复杂逻辑封装为无感交互。应用场景覆盖媒体、教育、电商及NGO等多类内容组织,尤其适用于高频更新、多语言协作、强时效性要求的

weixin_33951761的博客 346

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

HTML压缩不是删空格:AST驱动的语义等价优化实践

HTML压缩本质上是保障渲染语义不变前提下的结构化精简,其核心原理在于绕过正则陷阱,依托标准HTML解析器(如parse5)构建AST语法树,实现属性值净化、注释移除、空白折叠等安全变换。该技术显著降低首屏HTML体积,提升CDN缓存效率与LCP指标,广泛应用于SSR/SSG站点、微前端架构及边缘计算场景。在Vue/React服务端渲染、Cloudflare Workers动态重写、Nginx模块级处理等真实工程中,需兼顾浏览器兼容性、自定义元素白名单与`<base>`标签稳定性。本文聚焦HTMLAST解析

chuji3953的博客 341

5倍速Photoshop图层导出神器:告别手动操作的设计效率革命

你是否曾为Photoshop中繁琐的图层导出而烦恼?面对几十上百个图层,一个个手动导出、重命名、保存,不仅耗时耗力,还容易出错。现在,Photoshop-Export-Layers-to-Files-Fast为你带来全新的解决方案——这款开源插件能将图层导出速度提升5倍以上,让设计工作回归创意本身。 ## 🎯 设计工作流的痛点与解决方案 ### 传统导出方式的三大痛点 **时间成本高昂**

gitblog_00218的博客 400
上一篇: JS用var声明变量的不足
下一篇: ES6Let简介 使用Let声明变量好处
苟盛
博客等级 码龄7年 13粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值