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

这两天在顶顶大人的指导下,利用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. 使用 Infragistics 的 NetAdvantage 组件时替换部分菜单语言的方法

    Infragistics 的 NetAdvantage 组件很好用,不过有些自动的菜单默认都是英文的,一直想替换成中文,以下就是研究了一下午整出来的几行代码,貌似网上很难找到此类的相关资料,替换的资源 ...

  2. Unrecognized Windows Sockets error: 0: JVM_Bind 异常解决办法

    java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind 此异常的原因是服务器端口被占用 所以解决办法是: 一 ...

  3. AndroidAnnotations部署

    环境: 系统:windows 8 (64bit) 开发工具:Eclipse 3.8 JDK版本:jdk1.6 构建工具:Ant(Eclipse默认的build tool) androidannotat ...

  4. WebSerivce测试工具 Storm

    STORM 是一款免费且开源的WebSerivce测试工具 它的功能: 1,测试任意语言测试 WebService 2,可动态调用webservice的方法,即使输入参数需要使用复杂的数据类型 3,节 ...

  5. 杭电ACM1218——Blurred Vision

    题目有点长,并且比較难懂.看了非常久.也看的不是非常懂,仅仅知道输入输出的格式. 直到看了最后的一句话,也就是output那里的最后一句话,题目的意思就非常明白了,就是输出的每个点的像素是原始的四个像 ...

  6. [Unity] How to stop camera rendering?

    http://answers.unity3d.com/questions/147988/how-to-pause-the-main-camera-.html I would simply pause ...

  7. SQL rank() 用法

    WITH vep AS ( SELECT package.OrderCode , RANK() OVER ( PARTITION BY package.OrderCode ORDER BY packa ...

  8. [React] React Fundamentals: Owner Ownee Relationship

    The owner-ownee relationship is used to designate a parent-child relationship with React components ...

  9. Android开发之自定义圆形的ImageView的实现

    android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap,然 ...

  10. frameset和iframe--框架对象及元素标签对象

    chrome不兼容:不支持跨frame的变量的获取 var oParent = parent.document.getElementById('contentFrm'); //frameset标签对象 ...