jquery花了很大心思写的仿百度(baidu)图片幻灯浏览,大家多多交流,提出好的建议,...


经过两天的努力 终于写出了模仿百度的图片幻灯浏览页面,本人还不会写插件,大家多多交流 看这个东西能写成 动态加载数据的插件不,期待各位高手。。。。。


第一种实现方式,缺点是当浏览到靠后面的图片时页面动态加载元素太多,不支持大数据

ContractedBlock.gif ExpandedBlockStart.gif Code
  1ExpandedBlockStart.gifContractedBlock.gif<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ImgShow.aspx.cs" Inherits="testbaidu_ImgShow" %>
  2
  3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4<html xmlns="http://www.w3.org/1999/xhtml">
  5<head runat="server">
  6    <title>模拟百度图片浏览</title>
  7    <link href="css/Style.css" rel="stylesheet" type="text/css" />
  8
  9    <script src="../JavaScript/JQuery/Jquery.js" type="text/javascript"></script>
 10
 11ExpandedBlockStart.gifContractedBlock.gif    <script language="javascript" type="text/javascript">
 12        var count = 9//总记录数
 13        var showCount = 4//每页显示数
 14        var pageIndex = 0//当前页码
 15        var pageCount = 10//每页加载数
 16        var i = 0//当前翻转值,不能大于总数减去每页数
 17        var myTimepre; //向上定时器
 18        var myTimenext; //向下定时器i
 19        
 20        //传入值
 21        var posti=7;
 22        var postion=2;//每次定位到第二个
 23        
 24        //状态初始化
 25ExpandedSubBlockStart.gifContractedSubBlock.gif        $(function() {
 26            SetPosition(); 
 27            SetSliderPreClass(false);
 28            SetSlidereNextClass(false);
 29            
 30            //处理向上按钮事件
 31ExpandedSubBlockStart.gifContractedSubBlock.gif            $("#slidePre").click(function() {
 32                PreDel();
 33            }
);
 34            //处理向上按钮事件
 35ExpandedSubBlockStart.gifContractedSubBlock.gif            $("#slidePre").mousedown(function() {
 36ExpandedSubBlockStart.gifContractedSubBlock.gif                myTimepre = window.setInterval(function() {
 37                    PreDel();
 38                }
120);
 39            }
);
 40            //关闭
 41ExpandedSubBlockStart.gifContractedSubBlock.gif            $("#slidePre").mouseup(function() {
 42                window.clearInterval(myTimepre);
 43            }
);
 44
 45            //处理向下按钮事件
 46ExpandedSubBlockStart.gifContractedSubBlock.gif            $("#slideNext").click(function() {
 47                NextDel();
 48            }
);
 49            //处理向下按钮事件
 50ExpandedSubBlockStart.gifContractedSubBlock.gif            $("#slideNext").mousedown(function() {
 51ExpandedSubBlockStart.gifContractedSubBlock.gif                myTimenext = window.setInterval(function() {
 52                    NextDel();
 53                }
120);
 54            }
);
 55            //关闭
 56ExpandedSubBlockStart.gifContractedSubBlock.gif            $("#slideNext").mouseup(function() {
 57                window.clearInterval(myTimenext);
 58            }
);
 59
 60            //鼠标移动到按钮的事件
 61ExpandedSubBlockStart.gifContractedSubBlock.gif            $("#slidePre").hover(function() { SetSliderPreHoverClass(); }function() { SetSliderPreClass(); });
 62ExpandedSubBlockStart.gifContractedSubBlock.gif            $("#slideNext").hover(function() { SetSliderNextHoverClass(); }function() { SetSlidereNextClass(); });
 63            //select
 64           
 65
 66        }
);
 67        
 68        function TrggleEvent()
 69ExpandedSubBlockStart.gifContractedSubBlock.gif        
 70ExpandedSubBlockStart.gifContractedSubBlock.gif            $("#imgList p").click(function() {
 71                //alert("oh yes");
 72                
 73              posti=  $("#imgList p").index($(this));
 74              SetPosition();
 75             
 76              SetSliderPreClass(false);
 77              SetSlidereNextClass(false);
 78                //alert($(this).attr("class"));
 79            }
);
 80        }

 81        
 82        
 83
 84        //向上按钮点击函数
 85ExpandedSubBlockStart.gifContractedSubBlock.gif        function PreDel() {
 86ExpandedSubBlockStart.gifContractedSubBlock.gif            if (i > 0{
 87                i--; showImg(i);
 88                SetSliderPreClass(true);
 89                SetSlidereNextClass(false);
 90            }

 91        }

 92
 93ExpandedSubBlockStart.gifContractedSubBlock.gif        function NextDel() {
 94ExpandedSubBlockStart.gifContractedSubBlock.gif            if (i < count - showCount) {
 95                i++;
 96                LoadData()
 97                showImg(i);
 98                SetSlidereNextClass(true);
 99                SetSliderPreClass(false);
100            }

101        }

102
103
104
105        //设置正常状态下向上按钮样式
106ExpandedSubBlockStart.gifContractedSubBlock.gif        function SetSliderPreClass(isclick) {
107
108ExpandedSubBlockStart.gifContractedSubBlock.gif            if (i > 0{
109ExpandedSubBlockStart.gifContractedSubBlock.gif                if (!isclick) {
110                    $("#slidePre").removeClass();
111                    $("#slidePre").addClass("preNormal");
112                }

113            }

114ExpandedSubBlockStart.gifContractedSubBlock.gif            else {
115                $("#slidePre").removeClass();
116                $("#slidePre").addClass("preNone");
117            }

118
119        }

120
121        //设置正常状态下向下按钮样式
122ExpandedSubBlockStart.gifContractedSubBlock.gif        function SetSlidereNextClass(isclick) {
123ExpandedSubBlockStart.gifContractedSubBlock.gif            if (i >= count - showCount) {
124                $("#slideNext").removeClass();
125                $("#slideNext").addClass("nextNone");
126                $("#ImgOn").removeClass().addClass("lastPage");
127            }

128ExpandedSubBlockStart.gifContractedSubBlock.gif            else {
129ExpandedSubBlockStart.gifContractedSubBlock.gif                if (!isclick) {
130                    $("#slideNext").removeClass();
131                    $("#slideNext").addClass("nextNormal");
132                    $("#ImgOn").removeClass().addClass("nextPage");
133                }

134            }

135
136        }

137
138        //设置鼠标滑动下向上按钮样式
139ExpandedSubBlockStart.gifContractedSubBlock.gif        function SetSliderPreHoverClass() {
140ExpandedSubBlockStart.gifContractedSubBlock.gif            if ($("#slidePre").attr("class"!= "preNone"{
141                $("#slidePre").removeClass();
142                $("#slidePre").addClass("preHover");
143            }

144        }

145
146        //设置鼠标滑动下向上按钮样式
147ExpandedSubBlockStart.gifContractedSubBlock.gif        function SetSliderNextHoverClass() {
148ExpandedSubBlockStart.gifContractedSubBlock.gif            if ($("#slideNext").attr("class"!= "nextNone"{
149                $("#slideNext").removeClass();
150                $("#slideNext").addClass("nextHover");
151            }

152
153        }

154
155        // 关键函数:通过控制top ,来显示不通的幻灯片
156ExpandedSubBlockStart.gifContractedSubBlock.gif        function showImg(i) {
157ExpandedSubBlockStart.gifContractedSubBlock.gif            $("#imgList").stop(truefalse).animate({ top: -125 * i }120);
158        }

159
160ExpandedSubBlockStart.gifContractedSubBlock.gif        function LoadData() {
161            var tempindex=0;
162ExpandedSubBlockStart.gifContractedSubBlock.gif            if (pageIndex * pageCount - showCount < i) {
163                //动态先添加数据,计算需要加载的条数
164                var curLoadCount = 0;
165ExpandedSubBlockStart.gifContractedSubBlock.gif                if ((count - pageIndex * pageCount) / pageCount > 1{
166                    curLoadCount = pageCount;
167                }

168                else
169ExpandedSubBlockStart.gifContractedSubBlock.gif                { curLoadCount = count % pageCount; }
170ExpandedSubBlockStart.gifContractedSubBlock.gif                for (k = 0; k < curLoadCount; k++{
171                    $('<p class="noselect"><img  src="images/loadTree.gif" /></p>').appendTo($("#imgList"));
172                }

173                tempindex =pageIndex;
174//                $.get("ImgContent.aspx",{ pageIndex: pageIndex, pageCount: pageCount }, function(imgurls){
175//                retarr=imgurls.split(',');
176//                  for (k = 0; k < curLoadCount; k++) {
177//                   $("#imgList p").eq(tempindex * pageCount+k).find("img").attr("src",retarr[k]);
178//                }
179//              
180//                //绑定后台数据
181//                });  
182ExpandedSubBlockStart.gifContractedSubBlock.gif                $.ajax({
183                       type: "get",
184                       url: "ImgContent.aspx",
185                       data: "pageIndex="+ pageIndex+"&pageCount="+pageCount,
186                       async: false,
187ExpandedSubBlockStart.gifContractedSubBlock.gif                       success: function(imgurls){
188                                    retarr=imgurls.split(',');
189ExpandedSubBlockStart.gifContractedSubBlock.gif                                      for (k = 0; k < curLoadCount; k++{
190                                       $("#imgList p").eq(tempindex * pageCount+k).find("img").attr("src",retarr[k]);
191                                    }

192                         }

193                        }
); 
194                TrggleEvent();
195                pageIndex++;
196                LoadData();
197            }

198        }

199        
200        //初始化定位
201        function SetPosition()
202ExpandedSubBlockStart.gifContractedSubBlock.gif        {
203        if(posti+1-(showCount-postion)>0&&posti+1-(showCount-postion)<count-showCount)
204ExpandedSubBlockStart.gifContractedSubBlock.gif        {
205            i=posti+1-(showCount-postion);
206        }

207        else if(posti+1-(showCount-postion)>=count-showCount)
208ExpandedSubBlockStart.gifContractedSubBlock.gif        {
209            i=count-showCount;
210        }
  
211        LoadData();
212        $("#imgList p").eq(posti).siblings("p").removeClass().addClass("noselect").end().removeClass().addClass('select');
213        showImg(i);
214        $("#ImgOn").attr("src",$("#imgList p").eq(posti).find("img").attr("src"));
215        }

216        
217        
218        
219    
</script>
220
221</head>
222<body>
223    <form id="form1" runat="server">
224    <div style="text-align: center">
225        <h1>
226            百度图片浏览模拟程序</h1>
227    </div>
228    <div id="imgContainer">
229        <div id="detailImg">
230            <table id="imgFrom" cellpadding="0" cellspacing="0" style="margin: 0 auto;">
231                <tr>
232                    <td style="text-align: center">
233                        图片名称:
234                    </td>
235                </tr>
236            </table>
237            <table id="picWrap">
238                <tr>
239                    <td id="srcPic" align="center" valign="middle">
240                        <img id="ImgOn" src="" width="600px" height="450px" />
241                    </td>
242                </tr>
243            </table>
244            <table id="picInfo">
245                <tr>
246                    <td width="38%" align="left">
247                        <span id="imgTitle" style="font-size: 12px"></span>
248                    </td>
249                    <td align="right">
250                        <span class="rate">预览图比例:<span class="fontBar" id="rate"></span></span>
251                    </td>
252                    <td style="width: 70px" align="left">
253                        <href="javascript:void(0)" class="zoomsrc" id="zoomSrc">查看原图</a>
254                    </td>
255                </tr>
256            </table>
257        </div>
258        <div id="album">
259            <div id="slidePre" class="preNormal">
260                &nbsp;
261            </div>
262            <div id="smallImgs">
263                <div id="imgList">
264                </div>
265            </div>
266            <div id="slideNext">
267                &nbsp;
268            </div>
269        </div>
270    </div>
271    </form>
272</body>
273</html>
274
第二种,动态加载数据,当然js局部可以做出修改
ContractedBlock.gif ExpandedBlockStart.gif Code
ExpandedBlockStart.gifContractedBlock.gif<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ImgSlider2.aspx.cs" Inherits="testbaidu_ImgSlider2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    
<title>模拟百度图片浏览</title>
    
<link href="css/Style.css" rel="stylesheet" type="text/css" />

    
<script src="../JavaScript/JQuery/Jquery.js" type="text/javascript"></script>

ExpandedBlockStart.gifContractedBlock.gif    
<script language="javascript" type="text/javascript">

        
var showCount = 4//每页显示数
        var count = 9//总记录数
        var postion = 2//每次定位到第二个

        
var i = 0//轮转值
        //传入值
        var postindex = 6;
        
var loadStart = 0;
        
var loadEnd = 0;
        
var myTimepre; //向上定时器
        var myTimenext; //向下定时器i

        
//第一次计算仅仅是初始化计算
ExpandedSubBlockStart.gifContractedSubBlock.gif
        function setLoadStartAndEnd() {
            
//为了便于理解没有进行等式的简化
            //只显示当前页的图片
ExpandedSubBlockStart.gifContractedSubBlock.gif
            if (postindex + 1 - postion > 0 && postindex <= count - showCount) {
                loadStart 
= postindex - postion + 1;
                loadEnd 
= postindex - postion + showCount;
            }

            
//向下按钮为灰色
ExpandedSubBlockStart.gifContractedSubBlock.gif
            else if (postindex > count - showCount) {
                loadStart 
= count - showCount;
                loadEnd 
= count - 1;
            }

            
//向上按钮为灰色
ExpandedSubBlockStart.gifContractedSubBlock.gif
            else if (postindex + 1 - postion <= 0{
                loadStart 
= 0;
                loadEnd 
= showCount - 1;
            }

        }



        
//计算出数值后开始加载数据
ExpandedSubBlockStart.gifContractedSubBlock.gif
        function loadData() {
            
//            alert(loadStart);
            //            alert(loadEnd);
            $("#imgList").html("");
ExpandedSubBlockStart.gifContractedSubBlock.gif            
for (j = loadStart; j <= loadEnd; j++{
                $(
'<p class="noselect"><img imgindex="' + j + '"  src="../temp/' + j + '.jpg" /></p>').appendTo($("#imgList"));

            }

            TrggleEvent();
            
//alert($("#imgList").html());
        }


        
//设置正常状态下向上按钮样式
ExpandedSubBlockStart.gifContractedSubBlock.gif
        function SetSliderPreClass(isclick) {

ExpandedSubBlockStart.gifContractedSubBlock.gif            
if (loadStart > 0{
ExpandedSubBlockStart.gifContractedSubBlock.gif                
if (!isclick) {
                    $(
"#slidePre").removeClass();
                    $(
"#slidePre").addClass("preNormal");
                }

            }

ExpandedSubBlockStart.gifContractedSubBlock.gif            
else {
                $(
"#slidePre").removeClass();
                $(
"#slidePre").addClass("preNone");
            }


        }


        
//设置正常状态下向下按钮样式
ExpandedSubBlockStart.gifContractedSubBlock.gif
        function SetSlidereNextClass(isclick) {
ExpandedSubBlockStart.gifContractedSubBlock.gif            
if (loadEnd >= count - 1{
                $(
"#slideNext").removeClass();
                $(
"#slideNext").addClass("nextNone");
                $(
"#ImgOn").removeClass().addClass("lastPage");
            }

ExpandedSubBlockStart.gifContractedSubBlock.gif            
else {
ExpandedSubBlockStart.gifContractedSubBlock.gif                
if (!isclick) {
                    $(
"#slideNext").removeClass();
                    $(
"#slideNext").addClass("nextNormal");
                    $(
"#ImgOn").removeClass().addClass("nextPage");
                }

            }


        }


        
//设置鼠标滑动下向上按钮样式
ExpandedSubBlockStart.gifContractedSubBlock.gif
        function SetSliderPreHoverClass() {
ExpandedSubBlockStart.gifContractedSubBlock.gif            
if ($("#slidePre").attr("class"!= "preNone"{
                $(
"#slidePre").removeClass();
                $(
"#slidePre").addClass("preHover");
            }

        }


        
//设置鼠标滑动下向上按钮样式
ExpandedSubBlockStart.gifContractedSubBlock.gif
        function SetSliderNextHoverClass() {
ExpandedSubBlockStart.gifContractedSubBlock.gif            
if ($("#slideNext").attr("class"!= "nextNone"{
                $(
"#slideNext").removeClass();
                $(
"#slideNext").addClass("nextHover");
            }


        }


ExpandedSubBlockStart.gifContractedSubBlock.gif        
function PreDel() {
ExpandedSubBlockStart.gifContractedSubBlock.gif            
if (loadStart > 0{
                temp 
= $("#imgList").html();
                $(
"#imgList").html("");
                $(
'<p class="noselect"><img alt="" imgindex="' + (loadStart - 1+ '"  src="../temp/' + (loadStart - 1+ '.jpg" /></p>').appendTo($("#imgList"));
                $(temp).appendTo($(
"#imgList"));
                temp 
= "";
                $(
"#imgList").css("top""-125");
                postindex
--;
                loadStart
--;
                loadEnd
--;
ExpandedSubBlockStart.gifContractedSubBlock.gif                $(
"#imgList").stop(truefalse).animate({ top: 0 }120);
ExpandedSubBlockStart.gifContractedSubBlock.gif                window.setTimeout(
function() {
                    $(
"#imgList p").eq(4).remove();
                    SetSliderPreClass(
true);
                    SetSlidereNextClass(
false);
                    TrggleEvent();
                }
120);
            }

        }


ExpandedSubBlockStart.gifContractedSubBlock.gif        
function NextDel() {
ExpandedSubBlockStart.gifContractedSubBlock.gif            
if (loadEnd < count - 1{
                $(
'<p class="noselect"><img alt="" imgindex="' + (loadEnd + 1+ '" src="../temp/' + (loadEnd + 1+ '.jpg" /></p>').appendTo($("#imgList"));
                postindex
++;
                loadStart
++;
                loadEnd
++;
ExpandedSubBlockStart.gifContractedSubBlock.gif                $(
"#imgList").stop(truefalse).animate({ top: -125 }120);
ExpandedSubBlockStart.gifContractedSubBlock.gif                window.setTimeout(
function() {
                $(
"#imgList").css("top""0"); 
                    $(
"#imgList p").eq(0).remove();
                    SetSliderPreClass(
false);
                    SetSlidereNextClass(
true);
                    TrggleEvent();
                }
150);


            }


        }


ExpandedSubBlockStart.gifContractedSubBlock.gif        $(
function() {
            setLoadStartAndEnd();
            loadData();
            SetPosition();
            
//鼠标移动到按钮的事件
ExpandedSubBlockStart.gifContractedSubBlock.gif
            $("#slidePre").hover(function() { SetSliderPreHoverClass(); }function() { SetSliderPreClass(false); });
ExpandedSubBlockStart.gifContractedSubBlock.gif            $(
"#slideNext").hover(function() { SetSliderNextHoverClass(); }function() { SetSlidereNextClass(false); });
            SetSliderPreClass(
false);
            SetSlidereNextClass(
false);

            
//处理向上按钮事件
ExpandedSubBlockStart.gifContractedSubBlock.gif
            $("#slidePre").click(function() {
ExpandedSubBlockStart.gifContractedSubBlock.gif                
if ($("#slidePre").attr("class"!= "preNone"{
                    PreDel();
                }


            }
);

            
//处理向上按钮事件
ExpandedSubBlockStart.gifContractedSubBlock.gif
            $("#slidePre").mousedown(function() {
ExpandedSubBlockStart.gifContractedSubBlock.gif                myTimepre 
= window.setInterval(function() {
                    PreDel();
                }
150);
            }
);
            
//关闭
ExpandedSubBlockStart.gifContractedSubBlock.gif
            $("#slidePre").mouseup(function() {
                window.clearInterval(myTimepre);
            }
);


            
//处理向下按钮事件
ExpandedSubBlockStart.gifContractedSubBlock.gif
            $("#slideNext").click(function() {
ExpandedSubBlockStart.gifContractedSubBlock.gif                
if ($("#slideNext").attr("class"!= "nextNone"{
                    NextDel();
                }


            }
);

            
//处理向下按钮事件
ExpandedSubBlockStart.gifContractedSubBlock.gif
            $("#slideNext").mousedown(function() {
ExpandedSubBlockStart.gifContractedSubBlock.gif                myTimenext 
= window.setInterval(function() {
                    NextDel();
                }
150);
            }
);
            
//关闭
ExpandedSubBlockStart.gifContractedSubBlock.gif
            $("#slideNext").mouseup(function() {
                window.clearInterval(myTimenext);
            }
);

        }
);


ExpandedSubBlockStart.gifContractedSubBlock.gif        
function SetPosition() {
            
//为了便于理解没有进行等式的简化
            //只显示当前页的图片
ExpandedSubBlockStart.gifContractedSubBlock.gif
            if (postindex + 1 - postion > 0 && postindex <= count - showCount) {
                $(
"#imgList p").eq(1).siblings("p").removeClass().addClass("noselect").end().removeClass().addClass('select');
                $(
"#ImgOn").attr("src", $("#imgList p").eq(1).find("img").attr("src"));
            }

            
//向下按钮为灰色
ExpandedSubBlockStart.gifContractedSubBlock.gif
            else if (postindex > count - showCount) {
                $(
"#imgList p").eq(postindex - (count - showCount)).siblings("p").removeClass().addClass("noselect").end().removeClass().addClass('select');
                $(
"#ImgOn").attr("src", $("#imgList p").eq(postindex - (count - showCount)).find("img").attr("src"));
            }

            
//向上按钮为灰色
ExpandedSubBlockStart.gifContractedSubBlock.gif
            else if (postindex + 1 - postion <= 0{
                
//alert(postindex);
                $("#imgList p").eq(postindex).siblings("p").removeClass().addClass("noselect").end().removeClass().addClass('select');
                $(
"#ImgOn").attr("src", $("#imgList p").eq(postindex).find("img").attr("src"));
            }


        }


ExpandedSubBlockStart.gifContractedSubBlock.gif        
function TrggleEvent() {
            
//选中图片的处理程序
ExpandedSubBlockStart.gifContractedSubBlock.gif
            $("#imgList p").click(function() {
                
//alert($(this).find("img").attr("imgindex"));
                postindex = parseInt($(this).find("img").attr("imgindex"));
                setLoadStartAndEnd();
                loadData();
                SetPosition();
                SetSliderPreClass(
false);
                SetSlidereNextClass(
false);
            }
);
        }

    
</script>

</head>
<body>
    
<form id="form1" runat="server">
    
<div style="text-align: center">
        
<h1>
            百度图片浏览模拟程序
</h1>
    
</div>
    
<div id="imgContainer">
        
<div id="detailImg">
            
<table id="imgFrom" cellpadding="0" cellspacing="0" style="margin: 0 auto;">
                
<tr>
                    
<td style="text-align: center">
                        图片名称:
                    
</td>
                
</tr>
            
</table>
            
<table id="picWrap">
                
<tr>
                    
<td id="srcPic" align="center" valign="middle">
                        
<img id="ImgOn" src="" width="600px" height="450px" />
                    
</td>
                
</tr>
            
</table>
            
<table id="picInfo">
                
<tr>
                    
<td width="38%" align="left">
                        
<span id="imgTitle" style="font-size: 12px"></span>
                    
</td>
                    
<td align="right">
                        
<span class="rate">预览图比例:<span class="fontBar" id="rate"></span></span>
                    
</td>
                    
<td style="width: 70px" align="left">
                        
<href="javascript:void(0)" class="zoomsrc" id="zoomSrc">查看原图</a>
                    
</td>
                
</tr>
            
</table>
        
</div>
        
<div id="album">
            
<div id="slidePre" class="preNormal">
                
&nbsp;
            
</div>
            
<div id="smallImgs">
                
<div id="imgList">
                
</div>
            
</div>
            
<div id="slideNext" class="nextNormal">
                
&nbsp;
            
</div>
        
</div>
    
</div>
    
</form>
</body>
</html>

以上两种都能实现效果,可能是思路那里设计的有问题,总觉得别扭,期待高人指点

看到这么多朋友对这个感兴趣,都希望贴代码,那我就不客气了

不过谁有更好点的 都贴上来供大家研究吧

 

转载于:https://www.cnblogs.com/huhu456/archive/2009/09/19/1569814.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值