html对图片轮播脚本怎么调用,【jquery前端开发】可调整的幻灯片(图片轮播)

第一次写博客,希望接下来写的东西 或多或少能帮到些人,虽然这些东西都是一些大神前辈们写了无数遍的东西,但我尽量以一名小白的视角把代码写得清楚点,好心人的就给点赞吧。

1.前期准备

这是我们编写代码前必须要做的事,在这里我们首先要明确下作品要具备的功能。

1.支持幻灯片的大小控制

这里我们用SLIDER_BOX_WIDTH,SLIDER_BOX_HEIGHT分别表示幻灯片的宽和高

2.支持幻灯片放置位置的控制,即可以将幻灯片放在任何DIV下

这里我们用SLIDER_BOX_CLASS 表示装入幻灯片的DIV的类名

3.支持幻灯片切换方式的变换

这里我们用SLIDER_TYPE 表示幻灯片的切换方式,这里主要是两种(slider滑动和fade淡入淡出)

4.支持图片张数的添加

这里我们用NUM_OF_IMG 表示

5.能够根据需要调整是否自动播放,动画的运行时间,动画的间隔时间,以及是否悬停,显示内容等等,这些就等到我们做的时候再做说明。

其中调用的是一个style.css文件和一个slider.js文件

2.HTML准备

slider

其实就是加一个class名为slider_box的div罢了。。

3.CSS准备

/*************reset***************/

html{color:#333;-webkit-text-size-adjust:none; }

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}

table{border-collapse:collapse;border-spacing:0;}

fieldset,img{border:0;}

address,caption,cite,code,dfn,em,var,optgroup{font-style:inherit;font-weight:inherit;}

del,ins{text-decoration:none;}

li{list-style:none;}

h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}

abbr,acronym{border:0;font-variant:normal;}

sup{vertical-align:baseline;}

sub{vertical-align:baseline;}legend{color:#000;}

input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}

body{font-size:12px;}

a{color: #333333;text-decoration: none;}

a:hover{text-decoration:underline; color:c00;}

上面这些是消除浏览器默认样式的代码----恩,我复制的。

/************style**************/

/*写滑动的时候定位得加上,fade方式的话可以不考虑*/

.slider_box{ /*最外层用来放置幻灯片的DIV*/

position: relative;

margin:0px auto;

overflow: hidden;

}

/*轮播器里的图片,因为我给每个图片加了个链接,所以是>a>img */

.slider_box>a>img{

position: absolute;

}

/*********左跳转触发器***********/

div.slider_box_left_turnTo{

background: url('../img/cho.png') no-repeat top left;

position: absolute;

left: 5%;

}

/*********右跳转触发器***********/

div.slider_box_right_turnTo{

background: url('../img/cho.png') no-repeat top right;

position: absolute;

right: 5%;

}

div.slider_box_left_turnTo:hover{

background-position: bottom left;

cursor: pointer;

}

div.slider_box_right_turnTo:hover{

background-position: bottom right;

cursor: pointer;

}

/*用来放置相关控制元素的盒子*/

div.slider_box_pointBox_turnTo{

width: 100%;

position: absolute;

background: rgba(0,0,0,0.4);

}

ul.slider_box_pointBox_turnTo{

position: absolute;

margin-left: -60px;

top:40%;

left: 45%;

}

/*图片对应的跳转点的样式*/

li.slider_box_point_turnTo{

background: url('../img/bnt.png') no-repeat top;

}

li.slider_box_point_turnTo:hover{

cursor: pointer;

}

/*用来放置图片介绍内容的盒子*/

div.slider_box_content{

position: absolute;

background: rgba(0,0,0,0.6);

width: 100%;

font-size: 15%;

color: #fff;

overflow: hidden;

}

4.jquery准备

首先给初学者介绍下图片轮播实现的基本原理,即:通过每隔一段时间(setInterval)触发(trigger)一次点击(鼠标悬浮)事件来完成一个功能。这个功能是:当鼠标点击(悬浮)的时候,某张图片完成一次animate动作。这个东西其实就是 给 点击滑动 加了个循环触发。

正餐来了

因为写这东我是要强调可拓展,可重用,所以基本都要把jquery代码分门别类放到函数中,通过函数间的调用来完成功能。(←_ ←|| 我又在装了!!)

相关参数/****************DATA_SET*******************/

var SLIDER_BOX_CLASS = ".slider_box", //要放置幻灯片的class名

SLIDER_BOX_WIDTH = 1024, //幻灯片图片的宽度(px)

SLIDER_BOX_HEIGHT = 640, //幻灯片图片的高度(px)

SLIDER_TYPE = "slider", //幻灯片动画的方式(slider,fade)

POINT_L_R_MARGIN = 20, //跳转点的左右外距(px)

NUM_OF_IMG = 3, //图片的张数

IMG_SRC = ["img/1.jpg","img/2.jpg","img/3.jpg"], //图片的地址,数组形式

IMG_LINK = ["#","#","#"], //每张图片对应的链接,轻按图片对应的顺序写入

AUTO_PLAY = true, //自动播放(true,false)

SPEED = 300, //动画运行的时间(ms)

TIME_DELAY = 4000, //自动跳转时的时间间隔(ms)

HOVER_STOP = false, //是否启用悬停效果(true,false)

CONTENT_SHOW = false, //是否显示内容盒子(true,false)

CONTENT_FONT_COLOR = "#FFF"; //盒子内容的字体颜色

⑴元素动态添加的功能集合//added about

//图片添加函数

//传递进来的参数从左往右代表的分别是:要放入图片的DIV类名,图片的数目

//,图片的地址(数组),对应图片的链接(数组,与图片顺序对应)

//,图片的宽度,图片的高度(这些其实和盒子大小是一样的)

//实现的过程是:通过循环把不同的图片和链接打包放入到DIV盒子中,因为

//我们在设置CSS的时候已经设了定位,所以不用担心样式的问题

//此段JS生成的html代码相当于:

//

//addr

//以后的代码的功能都类似(←_ ←上面是写给初学者的,大神可略过)

function Add_Img(slider_box_class,num,src,img_link,S_width,S_height){

var i,addr;

for(i=num-1;i>=0;i--)

{

addr = src[i];

$('',{

href : img_link[i],

html : $('',{

src : addr,

class : 'img_'+i,

width : S_width,

height: S_height

})

}).appendTo(slider_box_class);

}

}

//跳转点添加函数

//从左往右的参数是:点的数目(与IMG的张数一致且分别对应)

//,跳转点的左右外边距,以及存放跳转点盒子的高度值

//大家在这一段代码可能发现一些参数是有计算的,这是

//为了使内部的元素能够随幻灯片播放器的大小自动调整

//计算方法的话可以进行改变,我这里只是提供个参考,

//不过提醒一点的是大家改之前最好先看看控制元素对应图片的分辨率

//以免造成样式错位等问题

function Add_Point(num,point_l_r_margin,pointBox_height){

var i;

for(i=0;i<=num-1;i++)

{

$('

',{

class : 'slider_box_point_turnTo list_'+i,

style : 'margin- left:'+point_l_r_margin+'px;margin-right:'+point_l_r_margin+'px;float:left;height:'+(pointBox_height*16/42)+'px;width:'+(pointBox_height*17/42)+'px;background-size:'+(pointBox_height*17/42)+'px '+(pointBox_height*32/42)+'px;'

}).appendTo('ul.slider_box_pointBox_turnTo');

}

}

//跳转盒子添加函数

//参数从左往右是:最外层盒子class名,跳转盒子的宽,跳转盒子的高

//这里的代码看起来可能会有点乱,但没办法,我试过写简单点,但老是

//报错,所以就只能这样写了,如果大家有简单的写法欢迎来分享,留言就

//行了。因为跳转盒子里面要存放 左跳转的按钮,右跳转的按钮和跳转点

//所以html:"" 这里是按 左跳转,跳转点,右跳转的顺序添加的,不懂的话

//看下我代码的演示效果就行了

function Add_pointBox(slider_box_class,pointBox_width,pointBox_height){

$('

class : 'slider_box_pointBox_turnTo',

style : 'width:'+pointBox_width+'px;height:'+pointBox_height+'px;bottom:0px;',

html : '

}).appendTo(slider_box_class);

}

//内容盒子的设置

//参数的话大家应该能看懂了,都差不多

//其实这里我的本意是想写成接受后台数据的,但因为最近社团的活动

//就搁置了下来,大家如果有兴趣也看得起我这些代码的话,可以自行拓展

function ContentBox_Set(slider_box_class,content_show,color,S_width,S_height,pointBox_height){

if(content_show){

$('

class : 'slider_box_content',

style : 'color:'+color+';width:'+S_width+'px;height:'+(S_height*0.1+10)+'px;overflow:hidden;bottom:'+pointBox_height+'px;',

html : 'hello'

}).appendTo(slider_box_class);

}

}

⑵生成相关html的函数

//adjust about

//这里的话纯粹就是将前面那些生成html代码的元素给整合实现了

//我还加了个判断,当播放器的宽高小于某个值的时候会进行重置,

//因为当播放器很小的时候真的太难看了,所以强迫症的我弄了点处理措施

function Data_Adjust(slider_box_class,S_width,S_height,num,src,img_link,point_l_r_margin,content_show,color){

var pointBox_height = 24 + S_height/40;

if(S_width<=300 || S_height<=200)

{

S_width = 1024;

S_height = 640;

}

//slider box adjust

$(slider_box_class).css({'width':S_width,'height':S_height});

//content box adjust

Add_Img(slider_box_class,num,src,img_link,S_width,S_height);

Add_pointBox(slider_box_class,S_width,pointBox_height);

Add_Point(num,point_l_r_margin,pointBox_height);

ContentBox_Set(slider_box_class,content_show,color,S_width,S_height,pointBox_height);

}

⑶这里是跟显示相关的函数//show about

//这里基本上都是循环实现的过程

//跳转点样式变化

//当跳转到某张图片时,对应的跳转点设置为高亮

function Point_change(i){

$('.slider_box_point_turnTo').css({'background-position':'top'});

$('.slider_box_point_turnTo').attr('id',"");

$('.list_'+i).css({'background-position':'bottom'});

$('.list_'+i).attr('id','change_point');

}

//左滑动的效果实现

function Slider_left(slider_box_class,num,width,speed,i)

{

$(slider_box_class).find('img').not('.img_'+i).css({'left':width+'px'});

$(slider_box_class).find('img.img_'+i).animate({left:'-'+width+'px'},speed);

i==num-1?i=0:i++;

$(slider_box_class).find('img.img_'+i).animate({left:'0px'},speed);

}

//右滑动的效果实现

function Slider_right(slider_box_class,num,width,speed,i){

$(slider_box_class).find('img').not('.img_'+i).css({'left':'-'+width+'px'});

$(slider_box_class).find('img.img_'+i).animate({left:width+'px'},speed);

i==0?i=num-1:i--;

$(slider_box_class).find('img.img_'+i).animate({left:'0px'},speed);

}

//相关跳转点被点击时的事件处理函数,我这里用来live,但现在的jquery都

//不用live,改成on和off了,请大家自己注意,因为我写这个代码的时候还不

//知道,写完才知道的。后面也不想改了。请大家谅解

//这里的处理过程是:通过获取高亮的跳转点的class值来判断是哪张

//图片要进行跳转

function Type_slider(slider_box_class,num,width,speed){

var i = 0;

$('.list_'+i).css({'background-position':'bottom'});

$('.list_'+i).attr('id','change_point');

var long_class;

$(slider_box_class).find('div.slider_box_right_turnTo').live('click',function(){

long_class = $(slider_box_class).find('li#change_point').attr('class');

i = long_class.substring((long_class.length)-1);

if(!$(slider_box_class).find('img').is(':animated'))

{

Slider_left(slider_box_class,num,width,speed,i);

i==num-1?i=0:i++;

Point_change(i);

}

})

$(slider_box_class).find('div.slider_box_left_turnTo').live('click',function(){

long_class = $(slider_box_class).find('li#change_point').attr('class');

i = long_class.substring((long_class.length)-1);

if(!$(slider_box_class).find('img').is(':animated'))

{

Slider_right(slider_box_class,num,width,speed,i);

i==0?i=num-1:i--;

Point_change(i);

}

})

Point_click_slider(slider_box_class,width,speed);

}

//淡入淡出效果的实现函数

function Type_fade(slider_box_class,num,speed)

{

var i=0;

$(slider_box_class).find('img').not('.img_'+i).hide();

$('.list_'+i).css({'background-position':'bottom'});

$('.list_'+i).attr('id','change_point');

$(slider_box_class).find('div.slider_box_right_turnTo').click(function(){

if(!$(slider_box_class).find('img').is(':animated'))

{

$(slider_box_class).find('img.img_'+i).fadeOut(speed,function(){

i==num-1?i=0:i++;

$(slider_box_class).find('img.img_'+i).fadeIn(speed);

Point_change(i);

});

}

})

$(slider_box_class).find('div.slider_box_left_turnTo').click(function(){

if(!$(slider_box_class).find('img').is(':animated'))

{

$(slider_box_class).find('img.img_'+i).fadeOut(speed,function(){

i==0?i=num-1:i--;

$(slider_box_class).find('img.img_'+i).fadeIn(speed);

Point_change(i);

});

}

})

Point_click_fade(slider_box_class,num,speed);

}

⑷控制相关的函数

//control about

//跳转点被点击时触发的效果,两个函数:一个是滑动的触发,一个是fade的

//触发,这里的图片滑动方向的判断机制是:通过判断 被点击的点 与 当前点

//的位置来判断进行左移或者右移,fade函数无判断机制

function Point_click_slider(slider_box_class,width,speed){

var i,long_class;

$('.slider_box_point_turnTo').live('click',function(){

var this_li = event.target;

var P_class = $(this_li).attr('class');

var $length = P_class.length;

var j = P_class.substring($length-1);

long_class = $(slider_box_class).find('li#change_point').attr('class');

i = long_class.substring((long_class.length)-1);

if(j>i)

{

if(!$(slider_box_class).find('img').is(':animated'))

{

$(slider_box_class).find('img').not('.img_'+i).css({'left':width+'px'});

$(slider_box_class).find('img.img_'+i).animate({left:'-'+width+'px'},speed);

$(slider_box_class).find('img.img_'+j).animate({left:'0px'},speed);

Point_change(j);

}

}else if(j

{

if(!$(slider_box_class).find('img').is(':animated'))

{

$(slider_box_class).find('img').not('.img_'+i).css({'left':'-'+width+'px'});

$(slider_box_class).find('img.img_'+i).animate({left:width+'px'},speed);

$(slider_box_class).find('img.img_'+j).animate({left:'0px'},speed);

Point_change(j);

}

}

})

}

function Point_click_fade(slider_box_class,num,speed){

var i,long_class;

$('.slider_box_point_turnTo').live('click',function(){

var this_li = event.target;

var P_class = $(this_li).attr('class');

var $length = P_class.length;

var j = P_class.substring($length-1);

long_class = $(slider_box_class).find('li#change_point').attr('class');

i = long_class.substring((long_class.length)-1);

if(!$(slider_box_class).find('img').is(':animated'))

{

$(slider_box_class).find('img.img_'+i).fadeOut(speed,function(){

$(slider_box_class).find('img.img_'+j).fadeIn(speed);

Point_change(j);

});

}

})

}

//判断是否有悬停,是否自动播放,以及跳转的方式等等

function Slider_Control(slider_box_class,num,type,width,auto,speed,circle_time,hover_stop){

var Time_circle;

if(type=="slider")

Type_slider(slider_box_class,num,width,speed);

if(type=="fade")

Type_fade(slider_box_class,num,speed);

if(auto)

Time_circle = setInterval("Tri()",circle_time);

if(hover_stop){

$('.slider_box_pointBox_turnTo').hover(function(){

clearInterval(Time_circle);

},function(){

Time_circle = setInterval("Tri()",circle_time);

})

}

}

⑸最后是调用了

Data_Adjust(SLIDER_BOX_CLASS,SLIDER_BOX_WIDTH,SLIDER_BOX_HEIGHT,NUM_OF_IMG,IMG_SRC,IMG_LINK,POINT_L_R_MARGIN,CONTENT_SHOW,CONTENT_FONT_COLOR);

Slider_Control(SLIDER_BOX_CLASS,NUM_OF_IMG,SLIDER_TYPE,SLIDER_BOX_WIDTH,AUTO_PLAY,SPEED,TIME_DELAY,HOVER_STOP);

//这个是触发函数

function Tri(){

$('.slider_box_right_turnTo').trigger('click');

}

到这里我们的编写就基本完成了,实际上上述代码还是可继续拓展的,比如说通过判断调整内容区域显示的位置,或者添加新的跳转方式,或者将跳转点设置为相应的小图片等等。。虽然我不知道我到底写得算不算及格,但本人写可拓展性的代码的目的达到了,这里也和大家分享一下,欢迎大家多多交流。求大神轻喷!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机主机信息怎么看,本机电脑硬件配置信息怎么看?Win7/Win10查看详细电脑配置方法...

电脑配置决定了一台电脑的性能好坏&#xff0c;如果电脑配置没有达到游戏或者软件的要求&#xff0c;那么肯定无法流畅运行的。对于一些小白用户不知道如何查看电脑硬件配置&#xff0c;那么本机电脑硬件配置信息怎么看&#xff1f;下面装机之家小编分享一下Win7/Win10查看详细…

《Java技术》第一次作业

&#xff08;一&#xff09;、学习总结 1.在java中通过Scanner类完成控制台的输入&#xff0c;查阅JDK帮助文档&#xff0c;Scanner类实现基本数据输入的方法是什么&#xff1f;不能只用文字描述&#xff0c;一定要写代码&#xff0c;通过具体实例加以说明。 文本扫描类Scanner…

计算机主机开机为什么显示器不开,电脑开机后显示器不亮怎么办?电脑开机后显示器没反应的解决办法...

电脑开机后显示器不亮怎么办&#xff1f;电脑开机故障屡见不鲜&#xff0c;最近又有用户反馈开机问题了&#xff0c;一用户反馈说&#xff0c;电脑主机是可以正常开机的&#xff0c;但就是显示器不亮&#xff0c;这是怎么回事呢&#xff1f;出现这种情况可能是显示器或主机故障…

斯坦福-随机图模型-week4.0_

title: 斯坦福-随机图模型-week4.0 tags: note notebook: 6- 英文课程-9-Probabilistic Graphical Models 1: Representation --- 斯坦福-随机图模型-week4.0 最大期望收入模型 简答的决策 我们使用随机图模型进行决策需要的原料是什么ne ? 我们需要决策的情景一些列的可能的行…

计算机行业哪个会议论文最好,《第三次全国电子计算机专业学术会议论文选集》...

1964年12月&#xff0c;国防工业出版社出版了《第三次全国电子计算机专业学术会议论文选集》(以下简称《选集》)&#xff0c;由中国电子学会计算机专业委员会编辑&#xff0c;《选集》内容覆盖之广令人震惊。《选集》的内容表达了1961年以来国内计算技术在理论与实际方面的工作…

展开符和解构赋值

一、展开符展开符(剩余操作符)&#xff1a;...1.展开符号use strict; let arr_one [1,3]; let arr_two [4,5,...arr_one]; console.log(arr_one);//[ 1, 3 ] console.log(...arr_one);//1 3 console.log(arr_two);//[ 4, 5, 1, 3 ]2.剩余操作符&#xff08;类似arguments&…

2.1 linux C 进程与多线程入门--(1)进程和程序的区别

进程和程序的区别: j进程是活动的程序&#xff0c;而程序是一个代码的集合。进程是加载到内存中的程序&#xff0c;而程序没有加载到内存中&#xff0c;只是在磁盘上存储着。 1234567891011121314151617181920212223242526272829303132#include<sys/types.h>#include<…

计算机一级表格样式在哪儿,word表格样式在哪 word表格样式在哪里

word2007中设置好正文样式怎样设置表格样式1. 打开word(以2007为例)【开始】--> 【样式】&#xff0c;打开样式右下角的小箭头&#xff0c;或者alt shift ctrl S&#xff0c;打开全部式样 2. 在全部式样里&#xff0c;选择你要改的类型&#xff0c;点击该类型右边的下拉箭…

计算机辅助设计b实验目的,上海电力学院电路计算机辅助设计1--含有受控源电路辅助分析...

上海电力学院电路计算机辅助设计1--含有受控源电路辅助分析实验三&#xff1a;含有受控源电路辅助分析一、实验目的1. 用回路电流法和节点电压法求解电路中的电流和电压。 2. 掌握线性电路参数的测量的方法。3. 了解四种受控源元件(电流控制的电压源、电流控制的电流源、电压控…

计算机基本运行方式,我今天才知道的电脑运行方式,你知道吗?

计算机首先你必须是系统软件和应用软件的相互的结合&#xff0c;才能更好的开发出你电脑的应用平台&#xff0c;那么其实没有了软件系统&#xff0c;光有这些硬件&#xff0c;他能不能工作&#xff0c;其实是不能工作的电脑也就是废物一台。那么软件这些&#xff0c;就是合理的…

计算机修复画笔结果分析,Photoshop

Photoshop基础:使用修复画笔工具修复画笔工具和修补工具&#xff0c;其实都是基于我们前面所说的图章工具的派生工具&#xff0c;并弥补了图章工具的一些不足。那么图章工具有什么不足之处呢&#xff1f;通过前面的学习我们知道了图章工具对图案的复制是原样照搬的&#xff0c;…

服务器的虚拟化配置,怎么配置服务器的虚拟化环境

服务器虚拟化是科技发展的产物&#xff0c;使得在一台服务器上同时执行多个操作系统、提供服务成为可能&#xff0c;优化了企业内部资源&#xff0c;节省成本。服务器虚拟化是IT基础架构得以资源共享的做法&#xff0c;也是未来机房的重要元素之一&#xff0c;那我们怎么配置这…

qq游戏坦大战服务器维护中,高手教你如何解决QQ游戏问题

许多玩QQ游戏的朋友&#xff0c;可能会发现忽然有一天自己的QQ游戏进不去了&#xff0c;无法打开QQ游戏了&#xff0c;就算重装游戏也不行&#xff0c;出现“加载DLL失败”的提示。现将各种情况的DLL文件加载失败解决办法收集起来&#xff0c;希望能对大家有所帮助。1.加载cnsm…

华硕笔记本没有无线服务器,华硕笔记本连不上无线网络怎么解决

可能还有些网友不太清楚关于华硕笔记本连不上无线网络的问题&#xff0c;下面就由学习啦小编给你们介绍华硕笔记本连不上无线网络的解决方法吧&#xff0c;希望能帮到大家哦!华硕笔记本连不上无线网络的解决方法一&#xff1a;1、首先我们来检测是否是无线路由器的问题。为了确…

Maven知识点整理

Maven不仅是依赖管理工具&#xff0c;准确来说是一个项目管理工具&#xff0c;贯穿了整个项目生命周期&#xff0c;编译&#xff0c;测试&#xff0c;打包&#xff0c;发布...依赖是使用Maven坐标来定位的&#xff0c;而Maven坐标 主要 由GAV&#xff08;groupId, artifactId, …

企业案例(二):增量恢复案例

1、环境准备 条件: 1.具备全量备份&#xff08;mysqldump&#xff09;。 2.除全量备份以外&#xff0c;还有全量备份之后产生的的所有binlog增量日志。 1.1、建立数据库和表 CREATE DATABASE dadong; USE dadong; CREATE TABLE test (id int(4) NOT NULL AUTO_INCREMENT,name c…

gdc服务器维修公司,gdc服务器阵列架坏了

gdc服务器阵列架坏了 内容精选换一换本章节指导用户批量创建4块云硬盘&#xff0c;并挂载至云服务器。进入云硬盘页面。关于创建云硬盘的详细操作&#xff0c;请参见“云硬盘用户指南”。本示例为批量创建4块云硬盘&#xff0c;具体参数如图1所示。云硬盘规格支持任意用户(root…

手机文件传云服务器,手机云服务器传文件

手机云服务器传文件 内容精选换一换华为云帮助中心&#xff0c;为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用华为云服务。如果私钥文件丢失了&#xff0c;可以为服务器替换新的密钥对&a…

Experimental-work1

软件测试第一次实验报告 3015207191 软件工程3班 林家乐 一、安装Junit&#xff0c;Hamcrest和Eclemma: 1.安装Junit 下载junit.jar&#xff0c;在项目里添加junit.jar并build一下即可。使用时&#xff0c;在项目内包含Junit4的库&#xff0c;其中包含junit.jar即…

c 开发服务器的性能,高性能网络编程(三):下一个10年,是时候考虑C10M并发问题了...

1、前言在本系列文章的上篇中我们回顾了过云的10年里&#xff0c;高性能网络编程领域著名的C10K问题及其成功的解决方案(上篇请见&#xff1a;《高性能网络编程(二)&#xff1a;上一个10年&#xff0c;著名的C10K并发连接问题》)。本文将讨论单机服务器实现C10M(即单机千万并发…