crm开发定制【jQuery案例】手风琴

🙋‍ crm开发定制crm开发定制哈喽大家好,本次是jQuerycrm开发定制案例练习系列第五期
⭐本期是jQuery案例——手风琴
🏆系列专栏:
😄crm开发定制笔者还是前端的菜鸟,crm开发定制还请大家多多指教呀~
👍crm开发定制欢迎大佬指正,一起学习,一起加油!


文章目录


案例展示

哈喽大家好,crm开发定制本次案例将会实现一个crm开发定制简单的手风琴效果,当滑过方块时,当前方块状态会发生变化👇

案例分析

手风琴效果的实现并不复杂,需要用到jQuery中的fadeIn()fadeOut()方法,以及鼠标指针进入事件mouseenter,下面我们来对本次案例的实现思路进行分析👇
1、编写手风琴效果的页面结构。案例包含小方块、大方块和滑动的效果,所以我们需要设置小方块的大小和变成大方块后的大小等。
2、为不同的方块设置不同的背景颜色。为了美观和更好的展示效果,大方块的背景颜色采用了接近于小方块的背景颜色。
3、通过jQuery实现交互效果。当鼠标指针移动到小方块时,触发鼠标指针移入事件。利用选择器获取到页面中的小方块时,通过fadeIn()和fadeOut()方法控制方块的显示与隐藏。

案例实现

HTML

页面结构主要使用div、ul、li标签。
思路:
1、设置一个div,类名为king,用于存放方块。
2、设置方块结构,使用ul定义无序列表结构,使用li代表小方块结构。li的类名为current,表示初始状态。
3、在li标签内部定义两个div元素,类名分别为bigsmallbig表示大方块,small表示小方块。
4、通过颜色类名red1red2等方式设置大小方块的颜色。

  <body>    <div class="king">      <ul>        <li class="current">          <div class="small red1"></div>          <div class="big red2"></div>        </li>        <li class="current">          <div class="small orange1"></div>          <div class="big orange2"></div>        </li>        <li class="current">          <div class="small yellow1"></div>          <div class="big yellow2"></div>        </li>        <li class="current">          <div class="small green1"></div>          <div class="big green2"></div>        </li>        <li class="current">          <div class="small ching1"></div>          <div class="big ching2"></div>        </li>        <li class="current">          <div class="small blue1"></div>          <div class="big blue2"></div>        </li>        <li class="current">          <div class="small purple1"></div>          <div class="big purple2"></div>        </li>      </ul>    </div>  </body>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

CSS

思路:
1、清除元素的默认样式。有些标签会带有默认样式,清除样式也方便我们后续设置css样式。
2、设置最外层盒子的样式。最外层盒子也就是类名为king的元素,设置它的大小,背景颜色,边距,使其居中显示,隐藏超出盒子的部分。
3、设置大小方块的背景色。
4、取消列表ul的默认样式。
5、设置列表的样式,设置列表的大小,边距等。这里使用position:relative设置相对定位。position:relative是基于该元素本身原来的位置来定位,当它进行位置移动时,它还是占用着原来的位置。
6、设置初始状态。
7、设置大方块样式,使用display:none;隐藏方块,设置大方块的大小,圆角边框。
8、设置小方块的样式,设置小方块的大小、边距、圆角边框。使用position:absolute;使元素脱离文档流,也就是将元素从普通的布局排版中拿走,其他盒子在定位时,会当作脱离文档流的元素不存在而进行定位。

<style>      /* 清除元素的margin和padding */      * {        margin: 0;        padding: 0;      }      /* 设置最外层盒子的样式 */      .king {        width: 710px;        margin: 100px auto;        background: rgb(187, 183, 183);        /* 超出盒子部分隐藏 */        overflow: hidden;        padding: 10px;      }      /* 取消列表的默认样式 */      .king ul {        list-style: none;      }      /* 设置列表样式 */      .king li {        position: relative;        width: 69px;        height: 69px;        margin-right: 5px;        margin-left: 5px;      }      /* 设置初始状态 */      .king li.current {        width: 110px;        float: left;      }      .king li.small {        display: none;      }      .king li.big {        display: block;      }      /* 设置大方块样式 */      .big {        width: 224px;        height: 69px;        display: none;        border-radius: 5px;      }      /* 设置小方块样式 */      .small {        position: absolute;        top: 0;        left: 0;        width: 69px;        height: 69px;        border-radius: 5px;      }      /* 设置大小方块背景色 */      .red1 {        background-color: red;      }      .red2 {        background-color: rgb(248, 97, 97);      }      .orange1 {        background-color: orange;      }      .orange2 {        background-color: rgb(250, 202, 113);      }      .yellow1 {        background-color: yellow;      }      .yellow2 {        background-color: rgb(248, 248, 103);      }      .green1 {        background-color: green;      }      .green2 {        background-color: rgb(21, 209, 21);      }      .ching1 {        background-color: greenyellow;      }      .ching2 {        background-color: rgb(198, 250, 120);      }      .blue1 {        background-color: blue;      }      .blue2 {        background-color: rgb(154, 154, 242);      }      .purple1 {        background-color: purple;      }      .purple2 {        background-color: rgb(218, 17, 218);      }    </style>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99

jQuery

jQuery部分有两种方法,一起看看吧~
首先,最重要的一步是引入jQuery👇

方法一

思路:
1、获取类名为king元素下的li,并且绑定鼠标指针移入事件。
2、找到当前元素,调用stop()用来停止当前正在进行的动画,通过调用animate()方法,让宽度过渡到224px。
3、找到小方块,实现淡出效果。
4、获取小方块的兄弟元素,类名为big的大方块,实现淡入效果。
5、清除当前元素的其他兄弟元素,大方块变小方块。
6、实现小方块淡入效果。
7、实现大方块淡出效果。

  <script>      $(document).ready(function () {         // 1、获取king元素下的li,绑定鼠标指针移入事件        $(".king li").mouseenter(function () {          // 2、找到当前元素,停止当前正在进行的动画,使宽度过渡到224px         var interim = $(this).stop().animate({            width: 224,          });          // 3、找到小方块,实现淡出效果         var fade_square1= interim.find(".small").stop().fadeOut();          // 4、获取小方块的兄弟元素,实现淡入效果          fade_square1.siblings(".big").stop().fadeIn();          // 5、清除当前元素的其他兄弟元素的状态,大方块变小方块         var interim2 = $(this).siblings("li").stop().animate({            width: 69,          });          // 6、小方块淡入          var fade_square2=interim2.find(".small").stop().fadeIn();        //   7、兄弟节点,大方块淡出            fade_square2.siblings(".big").stop().fadeOut();        });      });    </script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

方法二

方法二是使用来达到效果,整体思路和方法一类似,就不多赘述啦~

  <script>      $(document).ready(function () {            $(".king li").mouseenter(function(){                $(this).stop().animate({                    width:224                }).find(".small").stop().fadeOut().siblings(".big").stop().fadeIn();                $(this).siblings("li").stop().animate({                    width:69                }).find(".small").stop().fadeIn().siblings(".big").stop().fadeOut();        });      });    </script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

总结

以上就是今天的学习内容啦~
如果有兴趣的话可以订阅专栏,持续更新呢~
咱们下期再见~

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发