最后
即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!
我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:
Dubbo面试专题
JVM面试专题
Java并发面试专题
Kafka面试专题
MongDB面试专题
MyBatis面试专题
MySQL面试专题
Netty面试专题
RabbitMQ面试专题
Redis面试专题
Spring Cloud面试专题
SpringBoot面试专题
zookeeper面试专题
常见面试算法题汇总专题
计算机网络基础专题
设计模式专题
![](5.jpg)
-
接下来,编写移动图片的方法,为了控制下一张和上一张,我们定义一个索引变量index就可以啦。
var index = 0;
获取图片的宽度的数量
var imgwidth = $(‘.banner .content ul li’).width(); //获取轮播图片的宽度
var len = $(‘.banner .content ul li’).length - 2//获取总共的图片数量
移动图片的方法
function movePicture(){
$(‘.banner .content ul’).animate({‘margin-left’:-imgwidth * (index+1)},1000,function(){
if(index == len){
$(this).css(‘masrgin-left’,-imgwidth);
index = 0;
}
if(index == -1){
$(this).css(‘margin-left’,-imgwidth * len);
index = len - 1;
}
});
}
最后,给按钮绑定事件:
rightBtn.on(‘click’,function(){
index ++;
movePicture();
});
leftBtn.on(‘click’,function(){
index --;
movePicture();
});
3.6.7 按钮的节流控制
接下来要做一个简单的前台节流,意思就是说,如果有用户闲得无聊,在那拼命的点击下一张的按钮,那么每一次点击都会触发movePicture函数,这个时候,你就会看到图片在那乱跳。
所以,为了避免这种用户的操作,我们需要用js来做一个节流,额,好像是叫节流。我记不太清了。意思就是说,比如你在一秒钟内连续点击了8次,那么我就认为这8次中只有1次是有效的,其他的点击都是误操作。
这样的话,无论你怎么狂点鼠标,我都只调用一次movePicture函数。
首先,我们定义一个空的定时器。
var timer = null;
思路为:
每当我触发按钮的点击事件,就把当前的定时器timer清零,然后又马上给他设置定时内容,比如500毫秒后才进行移动操作。也就是说,如果你狂点鼠标,那么定时器就会被马上清零,然后进入定时器的等待状态。必须要等你满了500毫秒,才进行下面的操作。
原理就是这么简单,这个方式也经常用于登陆按钮上。比如,当你网速很慢的时候,点击登陆,网页没有立即给你跳转页面。有些用户闲着无聊,就在那狂点鼠标,不知道你有没有这么做过呢?
如果没有做好节流,那么就会有大量的请求传递到服务器,会给服务器造成很大的压力。
差不多就是这个意思,上代码:
rightBtn.on(‘click’,function(){
clearTimeout(timer); //定时器清零
timer = setTimeout(function(){
index ++;
movePicture();
},500);
});
leftBtn.on(‘click’,function(){
clearTimeout(timer); //定时器清零
timer = setTimeout(function(){
index --;
movePicture();
},500);
});
不论我鼠标怎么狂点,它每次都只移动一张图片。
好了,轮播图差不多就聊到这里吧,你可以自己去慢慢完善,时间关系我就不扩展太多了。剩下的就交给你自己去玩耍了,比如,我能不能做一个定时轮播呢,每个5秒钟就自动切换到下一张。
我就不写了。
3.6.8 整合资源文件
现在,我们把这个已经做好的banner区域搬到项目里。
在WebContent目录下新增一个static文件夹,这里存放各种静态资源文件。
比如img,js,css等
因为刚才的页面中用到了百度资源库里的jQuery文件:
http://libs.baidu.com/jquery/2.0.0/jquery.min.js
现在我们直接将这个url用浏览器打开。
全部复制。
然后在js文件夹中新建一个jQuery.js文件。
现在,将刚才复制的内容原封不动地拷贝进去。
ctrl + s 保存。
OK,jQuery文件已经有了,接下来,我们将素材图片拷贝到img文件夹中。这样,资源文件就全部准备好了。
3.6.7 引用资源文件
在整合好资源文件后,如何将这些资源文件导入我们的index.jsp呢?这是一个问题。
我们将html代码和css样式拷贝到index.jsp中,看看效果。
图片都没有显示出来。
那么,如何改变img的src,使他能够成功引到/Article/WebContent/static/img 里面的图片呢?
我提供一种比较方便的办法,就是在jsp页面中写Java代码,让Java来获取项目的根路径,然后通过绝对路径的方式引入资源文件。
我们在jsp页面的开头加上以下代码:
<%
String path = request.getContextPath();
int port = request.getServerPort();
String basePath = null;
if(port==80){
basePath = request.getScheme()+“😕/”+request.getServerName()+path;
}else{
basePath = request.getScheme()+“😕/”+request.getServerName()+“:”+request.getServerPort()+path;
}
request.setAttribute(“basePath”, basePath);
%>
request就是所谓的JSP九大隐式对象中的一员,其实JSP就是Servlet,你可能学过Servlet,那么应该很清楚request是什么意思。以后我会单独来讲解一下关于JSP的东西,现在先继续往下说吧。
request.setAttribute(“basePath”, basePath) 表示将得到的basePath(项目根路径)存放到request作用域中,你可以把request看做一个HashMap,或者一个JSON对象,都可以。
反正,这句话一写,就说明request作用域中已经有了basePath,我们在JSP页面的其他地方就可以获取到了。
-
-
-
-
-
-
-
最后
很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。
我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。
不管是查缺补漏还是深度学习都能有非常不错的成效,需要的话记得帮忙点个赞支持一下
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
最后
很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。
我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。
不管是查缺补漏还是深度学习都能有非常不错的成效,需要的话记得帮忙点个赞支持一下
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~