• jQuery常用API--样式操作


    1. 操作css方法

    jQuery 可以使用css 方法来修改简单元素样式,也可以操作类,修改多个样式。

    (1)参数只写属性名,则是返回属性值。

    $(this).css("color");     // 得到的是这个元素的字体颜色

    (2)参数是属性名,属性值,用逗号分隔,是设置样式,属性必须加引号,如果属性值是数字,可以不用跟单位和引号

    $(this).css("color","red");      // 设置这个元素字体颜色为红色 

    $(this).css("width",400);       // 属性值是数字,可以不加单位,也可以不加引号

    (3) 参数可以是对象形式,方便设置多组样式。属性名和属性值用冒号隔开,属性可以不用加引号,但是加上更好;属性值如果不是数字,则需要加引号

     $(this).css({"color":"blue","font-size":"20px",backgroundColor: "red"}); 

     // 给元素设置字体颜色同时设置字体大小和背景色,如果是复合属性必须采用驼峰命名法

    2. 设置类样式方法

    它的作用等同于原生JS中的className , 可以操作类样式,注意操作类里面的参数不要加点。

    (1)添加类

    $("div").addClass("current");    // 给div元素添加类名为current的类

    (2)移除类

    $("div").removeClass("current");    // 给div元素移除类名为current的类

    (3)切换类

    $("div").toggleClass("current");    // 给div元素添加 / 移除类名为current的类

    1. <!-- css样式 -->
    2. <style>
    3. div {
    4. width: 200px;
    5. height: 200px;
    6. background-color: pink;
    7. }
    8. .current {
    9. margin: 100px;
    10. background-color: skyblue;
    11. }
    12. </style>
    13. <!-- html结构 -->
    14. <div class="current"></div>
    15. <!-- js代码 -->
    16. <script>
    17. $(function() {
    18. // 1. 添加类 addClass() 不要加·
    19. /* $('div').click(function() {
    20. $(this).addClass('current');
    21. }) */
    22. // 2. 删除类 removeClass()
    23. /* $('div').click(function() {
    24. $(this).removeClass('current')
    25. }) */
    26. // 3. 切换类 toggleClass() 表示如果本身有类current,则点击移除,否则点击添加
    27. $('div').click(function() {
    28. $(this).toggleClass('current');
    29. })
    30. })
    31. </script>

     jQuery 中给我们提供了切换类 toggleClass,这大大简化了我们的操作,不用像原生JS中还需要借助变量进行判断再切换内容。

    2.1 类操作与className 的区别

    原生JS 中的className 会覆盖原生原先里面的类名

    但是jQuery 里面的类操作只是对指定的类进行操作不会影响原先的类名,其实通过名字也能感知到区别,一个是addClass,意为添加类,既然是添加,当然不会影响原先的,removeClass也是一样的,移除的也是指定的类,未指定的类是不会受影响的。

    3. 案例:tab栏切换

    1. <!-- css样式 -->
    2. <style>
    3. * {
    4. margin: 0;
    5. padding: 0;
    6. }
    7. .tab {
    8. margin: 100px auto;
    9. width: 1000px;
    10. }
    11. .tab-list {
    12. height: 44px;
    13. line-height: 44px;
    14. background-color: #EEF1EE;
    15. border: 1px solid #ccc;
    16. }
    17. .tab-list ul li {
    18. float: left;
    19. list-style: none;
    20. padding: 0 25px;
    21. /* cursor: pointer; */
    22. cursor: pointer;
    23. }
    24. .tab-con {
    25. padding: 10px;
    26. }
    27. .current {
    28. color: #fff;
    29. background-color: #D6271F;
    30. }
    31. .item {
    32. display: none;
    33. }
    34. </style>
    35. <!-- html结构 -->
    36. <div class="tab">
    37. <div class="tab-list">
    38. <ul>
    39. <li class="current">商品介绍</li>
    40. <li>规格与包装</li>
    41. <li>售后保障</li>
    42. <li>商品评价(5000)</li>
    43. <li>手机社区</li>
    44. </ul>
    45. </div>
    46. <div class="tab-con">
    47. <div class="item" style="display: block;">
    48. 商品介绍模块内容
    49. </div>
    50. <div class="item">
    51. 规格与包装模块内容
    52. </div>
    53. <div class="item">
    54. 售后保障模块内容
    55. </div>
    56. <div class="item">
    57. 商品评价(5000)模块内容
    58. </div>
    59. <div class="item">
    60. 手机社区模块内容
    61. </div>
    62. </div>
    63. </div>
    64. <!-- js代码 -->
    65. <script>
    66. $(function() {
    67. $('.tab-list ul li').click(function() {
    68. // 1. 利用隐式迭代,为每个小li绑定点击事件,点击后当前小li改变自身样式(添加类),其余兄弟不变(移除类)--排他思想
    69. $(this).addClass('current').siblings().removeClass('current');
    70. // 2. 点击的同时获得对应的索引号
    71. var index = $(this).index();
    72. // 3. 根据索引号将对应的模块找出显示,其余模块隐藏
    73. $('.tab-con .item').eq(index).show().siblings().hide();
    74. })
    75. })

    使用jQuery 实现tab栏切换效果,明显比原生JS简单很多,刚好契合jQuery的宗旨理念。

  • 相关阅读:
    汇编:lea 需要注意的一点
    下班后根本联系不上,这样的员工可以辞退吗
    【动手学深度学习】softmax回归从零开始实现的研究详情
    Feign 如何设置超时时间
    [论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比
    上周热点回顾(7.3-7.9)
    JAVA计算机毕业设计运动会管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
    337. 打家劫舍 III
    VC++透明图片绘制的三种办法
    VuePress 博客之 SEO 优化(五)添加 JSON-LD 数据
  • 原文地址:https://blog.csdn.net/JJ_Smilewang/article/details/125508694