jQuery经典小案例

jQuery经典小案例

目录

下拉菜单案例

突出展示案例 

淘宝精品案例

 京东呼吸灯案例

tab栏切换案例

手风琴案例

 城市选择案例

 微博发布案例

弹幕效果案例

 固定导航栏案例

 小火箭返回顶部案例

音乐导航栏案例


下拉菜单案例

效果图:

下拉菜单案例

源代码: 

鼠标进入事件mouseenter 鼠标离开事件mouseleave

下拉动画slideDown /slideUp

.stop() 停止动画

 
  1. <script>

  2. $(function(){

  3. var $li=$(".wrap>ul>li")

  4. $li.mouseenter(function () {

  5. $(this).children("ul").stop().slideDown();

  6. })

  7. $li.mouseleave(function () {

  8. $(this).children("ul").stop().slideUp();

  9. })

  10. });

  11. </script>

突出展示案例 

效果图: 

突出展示案例图

源代码: 

兄弟标签 $( ).siblings( ) 

 
  1. <script>

  2. $(function () {

  3.  
  4. $(".wrap>ul>li").mouseenter(function () {

  5. //给li注册鼠标进入事件,让li都变亮

  6. //让li的所有兄弟透明度降低

  7. $(this).css("opacity","1").siblings().css("opacity",".4");

  8. });

  9.  
  10. $(".wrap").mouseleave(function () {

  11. //离开父盒子时,所有li亮起来

  12. //$(this).children().children("li");

  13. $(this).find('li').css("opacity", 1);

  14. });

  15. });

  16. </script>

淘宝精品案例

效果图:

淘宝精品案例图

淘宝精品案例 效果图

源代码:

 获取索引用 .index();  

筛选选择器 $().eq(i);

 
  1. <script>

  2. $(function () {

  3. $("#left>li").mouseenter(function () {

  4. var index=$(this).index();

  5. $("#center>li").eq(index).show().siblings().hide();

  6. });

  7. $("#right>li").mouseenter(function () {

  8. var index=$(this).index()+9;

  9. $("#center>li").eq(index).show().siblings().hide();

  10. });

  11. });

  12. </script>

 京东呼吸灯案例

效果图:点击 切换图片

京东呼吸灯案例 效果图

源代码:

给左右焦点按钮注册点击事件

右按钮当索引++ 等于图片的个数时,索引跳转到第一张图片(左按钮为-1时,跳转最后一张图片)

下一张图片fadeIn 动画显示,所有兄弟图片 fadeOut 动画渐隐,实现呼吸灯效果

 
  1. <script>

  2. $(function () {

  3. var $li = $(".slider>ul>li");

  4. var count = 0;

  5.  
  6. $(".arrow-right").click(function () {

  7. count++;

  8. if(count == $li.length){

  9. count = 0;

  10. }

  11. $li.eq(count).fadeIn(1000).siblings().fadeOut(1000);

  12. });

  13.  
  14. $(".arrow-left").click(function () {

  15. count--;

  16. if(count == -1){

  17. count = $li.length - 1;

  18. }

  19. $li.eq(count).fadeIn(1000).siblings().fadeOut(1000);

  20. });

  21. });

  22. </script>

tab栏切换案例

效果图:

源代码:

1.给所有tab注册鼠标进入事件

2.给当前tab添加样式addClass(“样式名”),给其他兄弟移除样式【排他功能】

3.获取当前索引,给当前div添加选中(display:block),其他图片隐藏

 
  1. <script>

  2. $(function () {

  3. $(".tab-item").mouseenter(function () {

  4. $(this).addClass("active").siblings().removeClass("active");

  5. var idx=$(this).index();

  6. $(".main").eq(idx).addClass("selected").siblings().removeClass("selected");

  7. });

  8.  
  9. });

  10. </script>

手风琴案例

效果图:

源代码: 

 
  1. <script>

  2. $(function () {

  3. var $li = $("#box li");

  4.  
  5. for (var i = 0; i < $li.length; i++) {

  6. $li.eq(i).css("backgroundImage", "url(images/" + (i + 1) + ".jpg)");

  7. }

  8.  
  9. //给所有的li注册鼠标经过事件

  10. $li.mouseenter(function () {

  11. $(this).stop().animate({width:800}).siblings().stop().animate({width:100});

  12. }).mouseleave(function () {

  13. $li.stop().animate({width:240});

  14. });

  15. });

  16. </script>

 城市选择案例

效果图:

源代码:

主要考察层级(子代)选择器、筛选选择器、appendTo等

 
  1. <script>

  2.  
  3. $(function () {

  4. $("#btn1").click(function () {

  5. $("#src-city>option").appendTo("#tar-city");

  6. });

  7.  
  8. $("#btn2").click(function () {

  9. $("#src-city").append($("#tar-city>option"));

  10. });

  11.  
  12. $("#btn3").click(function () {

  13. $("#src-city>option:selected").appendTo("#tar-city");

  14. });

  15.  
  16. $("#btn4").click(function () {

  17. $("#src-city").append($("#tar-city>option:selected"));

  18. });

  19. });

  20.  
  21. </script>

 微博发布案例

效果图:

源代码:

. val() 获取文本的值   .trim( );清除空白片段

若输入内容长度不等于0,则将获取到的内容添加到ul中的li里面

再将输入框内的内容清空

 
  1. <script>

  2. $(function () {

  3.  
  4. $("#btn").click(function () {

  5.  
  6. if($("#txt").val().trim().length == 0) {

  7. return;

  8. }

  9. //就是文本框的值

  10. $("<li></li>").text($("#txt").val()).prependTo("#ul");

  11.  
  12. $("#txt").val("");

  13. })

  14.  
  15. });

  16. </script>

弹幕效果案例

效果图:

源代码:

1.定义颜色数组, 设置弹幕的随机颜色和随机高度

2.创建一个span与输入框内容一致。设置随机颜色和初始位置(x,y),添加到盒子内

3.动画 匀速 从右到左,执行完以后删除此span(回调函数),删除文本框内容

4.设置e.keyCode==13,即键盘回车键抬起事件时,触发事件

 
  1. <script>

  2. $(function () {

  3. //注册事件

  4. var colors = ["red", "green", "hotpink", "pink", "cyan", "yellowgreen", "purple", "deepskyblue"];

  5. $("#btn").click(function () {

  6. var randomColor = parseInt(Math.random() * colors.length);

  7. var randomY = parseInt(Math.random() * 400);

  8.  
  9. $("<span></span>")//创建span

  10. .text($("#text").val())//设置内容

  11. .css("color", colors[randomColor])//设置字体颜色

  12. .css("left", "1400px")//设置left值

  13. .css("top", randomY)//设置top值

  14. .animate({left: -500}, 10000, "linear", function () {

  15. //到了终点,需要删除

  16. $(this).remove();

  17. })//添加动画

  18. .appendTo("#boxDom");

  19.  
  20. $("#text").val("");

  21. });

  22.  
  23.  
  24. $("#text").keyup(function (e) {

  25. if (e.keyCode == 13) {

  26. $("#btn").click();

  27. }

  28. });

  29. });

  30.  
  31. </script>

 固定导航栏案例

效果图:

源代码:

 
  1. <script>

  2. $(function () {

  3. $(window).scroll(function () {

  4. //判断卷去的高度超过topPart的高度

  5. //1. 让navBar有固定定位

  6. //2. 让mainPart有一个marginTop

  7. if($(window).scrollTop() >= $(".top").height() ){

  8. $(".nav").addClass("fixed");

  9. $(".main").css("marginTop", $(".nav").height() + 10);

  10. }else {

  11. $(".nav").removeClass("fixed");

  12. $(".main").css("marginTop", 10);

  13. }

  14. });

  15. });

  16. </script>

 小火箭返回顶部案例

效果图:(点击火箭,返回页面顶部)

源代码:

 
  1. <script>

  2. $(function () {

  3. //当页面超出去1000px的时候,让小火箭显示出来,如果小于1000,就让小火箭隐藏

  4. $(window).scroll(function () {

  5. if($(window).scrollTop() >= 1000 ){

  6. $(".actGotop").stop().fadeIn(1000);

  7. }else {

  8. $(".actGotop").stop().fadeOut(1000);

  9. }

  10. });

  11.  
  12. //在外面注册

  13. $(".actGotop").click(function () {

  14. $("html,body").stop().animate({scrollTop:0},3000);

  15. //scrollTop为0

  16. //不做动画,直接返回 :$(window).scrollTop(0);

  17. })

  18.  
  19. });

  20. </script>

音乐导航栏案例

效果图:(移动鼠标或键盘按下 音乐)

源代码:

1.注册鼠标进入事件 ,span外边距动画

2.获取当前索引,播放对应音乐,注册鼠标离开事件,span下拉

3.注册键盘按下与抬起事件,获取每个键e.keyCode值,触发对应的鼠标进入事件(节流阀 重点)

 
  1. <script>

  2. $(function () {

  3. //给li注册鼠标进入事件,让li下面的span top:0 播放音乐

  4. $(".nav li").mouseenter(function () {

  5. $(this).children("span").stop().animate({top: 0});

  6. //播放音乐

  7. var idx = $(this).index();

  8. $(".nav audio").get(idx).load();

  9. $(".nav audio").get(idx).play();

  10. }).mouseleave(function () {

  11. $(this).children("span").stop().animate({top: 60});

  12. });

  13.  
  14. //节流阀 :按下的时候,触发,如果没弹起,不让触发下一次

  15. //1. 定义一个flag

  16. var flag = true;

  17. //按下1-9这几个数字键,能触发对应的mouseenter事件

  18. $(document).on("keydown", function (e) {

  19. if(flag) {

  20. flag = false;

  21. //获取到按下的键

  22. var code = e.keyCode;

  23. if(code >= 49 && code <= 57){

  24. //触发对应的li的mouseenter事件

  25. $(".nav li").eq(code - 49).mouseenter();

  26. }

  27. }

  28. });

  29. $(document).on("keyup", function (e) {

  30. flag = true;

  31.  
  32. //获取到按下的键

  33. var code = e.keyCode;

  34. if(code >= 49 && code <= 57){

  35. //触发对应的li的mouseenter事件

  36. $(".nav li").eq(code - 49).mouseleave();

  37. }

  38. });

  39. //弹起的时候,触发mouseleave事件

  40. });

  41. </script>

发布了6 篇原创文章 · 获赞 0 · 访问量 911

猜你喜欢

转载自blog.csdn.net/zb0002011/article/details/102879250