---恢复内容开始---

这两天在顶顶大人的指导下,利用jquery框架做了一个动态切换的小页面。最终效果图:

这么萌萌哒的图片让我觉得一直在测试也没那么累。实现功能如下:

1.打开页面时,自动切换,切换顺序为123212...这样

2.当用户鼠标放在三个按钮中的某一个时,会停留,不再切换;当鼠标移开后,继续执行自动切换。

码代码的过程:

关键是设置一个父元素,使其高度小于子元素。这样才会出现滚动条啦。要记住把父元素的overflow属性设置为hidden哦,不然又滚动条什么的影响美观。我之前就是设置为auto,顶顶大人指导+1。在子元素中的图片都设置float:left,当然别忘了清除浮动。

这些设置完就要设置左侧按钮了,如何让那三个按钮垂直居中,头疼了半天。最后还是百度了下,给父元素设置display属性,属性值为table;对子元素设置:

display:table-cell;
vertical-align:middle;

然后是把方方丑丑的按钮变为圆圆的,设置border-radius;我把值取它width的一半,就圆了。

简单的静态页面写完了,然后开始写js文件。说到这个,上一次让小顶大人查错,他非常认真地查了大半天,就是查不出错。然后原来我把script标签里的type属性写成type=“javascript/text” 小顶兄怒了...然后我记住了,以后不确定就不要写了。顶大人指导+2

为了实现它每隔一定时间自动切换,用到了window的方法,window.setInterval(参数1,参数2),好吧这里又有个小错误,又把window写成windows,又是查错半天无果的节奏。

顶大人指导+3。先是在ready事件设置了一个数组 array[0,1,2,1]切换循环执行的顺序,设置了一个变量j=0。然后设置了一个interval函数令i=++j/4;(先加j是因为最开始是设置了第一个按钮是红的,所以执行开始是从第二个按钮开始的。即触发第二个btn。)顶顶大人让我去问问看后台的那个大神,也许他有更优雅的写法,他常说后台大神写的代码超优雅~最后调用了参数为i的scroll方法。scroll方法中1.首先是一个链式写法,被改写了。我写得太繁琐了。

$(".totbtn input").eq(array[i]).addClass('red').siblings().removeClass("red");

这几天看了些jquery的方法, 还是可以看懂这个链式结构的。这个链式结构实现的功能是将索引等于array[i]的按钮添加red类,而他的同辈元素将red类移除。

2.stop(1,1) 当不加上这行代码时,就出现了这样一个bug,鼠标放在按钮上时,不会停止动画。

3.用到了srollTop()函数设置动画效果。它的参数为array[i]*200 (图片高度是200)当i=0,array[i]也为0,此时显示前三分之一内容,即第一个按钮触发时显示的内容。当i=3时,array[i]=1,此时高度为200显示第二部分内容。原先直接设置i*200,所以当i=3时,就会出现错误。

在reay事件下直接设置int= window.setInterval(interval,1000);

对三个按钮设置mouseover()分别调用scroll函数,并将其中参数分别设置为0,1,2。并设置clearInterval()实现当鼠标停留时,自动切换停止,并停留在当前内容。

在另外对这个三个按钮分别设置mouseout()函数。重置j值为当前class为red的索引值。然后重置int=window.setInterval(interval,1000);调用interval函数,写入新获得的j值。(j值不再从0开始)

基本的jquery就在这里了。第一次发博,感觉写得不清不楚的,再接再厉吧。

---恢复内容结束---

初用jquery的更多相关文章

  1. 【深入浅出jQuery】源码浅析--整体架构

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  2. jQuery整体架构源码解析(转载)

    jQuery整体架构源码解析 最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性, ...

  3. [译] EXTENDING JQUERY – 2.2 A simple plugin

    2.2 一个简单的插件示例 jQuery 插件能做任何事情,这个已经由浩如烟海的各类第三方插件如证明.小到只影响一个元素,大到改变多个元素的外观和行为,jQuery 的各种功能等你来扩展. 2.2.1 ...

  4. jQuery整体架构源码解析

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  5. 【深入浅出jQuery】源码浅析--整体架构(转)

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  6. jquery源码解读

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐进增强)优雅的处理能 ...

  7. jQuery 整体架构

    不同于 jQuery 代码各个模块细节实现的晦涩难懂,jQuery 整体框架的结构十分清晰,按代码行文大致分为如上图所示的模块. 初看 jQuery 源码可能很容易一头雾水,因为 9000 行的代码感 ...

  8. Java程序员从笨鸟到菜鸟全部博客目录

    本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 大学上了一年半,接触java也一年半了,虽然中间也有其他东西的学习,但是还是以java为主 ...

  9. 《Java程序员由笨鸟到菜鸟》

    <Java程序员由笨鸟到菜鸟> 在众多朋友的支持和鼓励下,<Java程序员由菜鸟到笨鸟>电子版终于和大家见面了.本电子书涵盖了从java基础到javaweb开放框架的大部分内容 ...

随机推荐

  1. mongodb的优化

    1:使用索引 ,同时对索引排序,[比如mongodb对时间做索引都用-1降序哈,这样查询最新的速度很快],注意组合索引中字段的顺序要和查询时字段的顺序一致哈, 用find().explain()检查查 ...

  2. iOS不勾选设置,实现某个界面强制横屏

    1.在不勾选横屏的前提下,实现某一个界面横屏显示,比如播放视频.图表显示等. 2.只能Present跳转,Push会无效. 3.实现代码 在需要横屏的VC里,添加如下代码 #pragma mark 强 ...

  3. 关于python文件转为exe文件

    一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2e ...

  4. 【三支火把】---C语言面试问题总结

    看了一份关于HR在面试一名C程序员可能提问的问题手册,学到了很多,很多都是一些琐碎的知识点,总是你写过很多大型的C程序,但是我敢说,里面也有你没掌握的东西. 1.全局变量和局部变量有何区别? 答:全局 ...

  5. 杀死当前Excel进程

    说明: 代码编写过程中,有时需要杀死当前Excel进程,而不影响其他Excel进程. 代码如下: 添加引用: //杀死当前进程的API引用 using System.Runtime.InteropSe ...

  6. 文件正在上传的转圈圈gif图片引出的fixed定位和absolute定位

     文件正在上传的转圈圈gif图片  一.文件上传时,未上传返回成功状态之前给个gif动态图片显示在页面,改善用户体验. <!--S 遮罩层 --> <div id="mas ...

  7. Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完毕測试代码)

    MD5和RSA是网络传输中最经常使用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,仅仅能加密而不能解密. ...

  8. find which process occupy the PORT

    mac :   lsof -i:8080 linux : netstat -anltp | grep 8080

  9. 记录一次centos升级gblic的教训

    前些天公司项目需要对上传的图片打水印,前端采用angularjs,后端nodejs,网上一搜,找到了一个images的库,在本地Windows环境下试了下还不错,然后就上传测试服务器(centos6. ...

  10. java.util.Stack类简介

    Stack是一个后进先出(last in first out,LIFO)的堆栈,在Vector类的基础上扩展5个方法而来 Deque(双端队列)比起Stack具有更好的完整性和一致性,应该被优先使用 ...