207 jQuery 样式操作:css (),addClass,removeClass,toggleClass,tab 栏切换案例

? jQuery中常用的样式操作有两种:css() 和 设置类样式方法

1.4.1 方法1: 操作 css 方法

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

? 常用以下三种形式 :

// 1.参数只写属性名,则是返回属性值
var strColor = $(this).css('color');

// 2.  参数是属性名,属性值,逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号
$(this).css(''color'', ''red'');

// 3.  参数可以是对象形式,方便设置多组样式。属性名和属性值用冒号隔开, 属性可以不用加引号
$(this).css({ "color":"white","font-size":"20px"});

? 注意:css() 多用于样式少时操作,多了则不太方便。


1.4.2 方法2: 设置类样式方法

? 作用等同于以前的 classList,可以操作类样式, 注意操作类里面的参数不要加点。

? 常用的三种设置类样式方法:

1. 添加类
$(“div”).addClass(''current'');

2. 移除类
$(“div”).removeClass(''current'');

3. 切换类
$(“div”).toggleClass(''current'');
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div {
            width: 150px;
            height: 150px;
            background-color: pink;
            margin: 100px auto;
            transition: all 0.5s;
        }

        .current {
            background-color: yellowgreen;
            transform: rotate(360deg);
        }
    </style>
    <script src="jquery.min.js"></script>
</head>

<body>
    <div class="current"></div>
    <script>
        $(function() {
            // 1. 添加类 addClass()
            // $("div").click(function() {
            //     // $(this).addClass("current");
            // });
            // 2. 删除类 removeClass()
            // $("div").click(function() {
            //     $(this).removeClass("current");
            // });
            // 3. 切换类 toggleClass()
            $("div").click(function() {
                $(this).toggleClass("current");
            });
        })
    </script>
</body>

</html>

?

注意:

  1. 设置类样式方法比较适合样式多时操作,可以弥补css()的不足。
  2. 原生 JS 中 className 会覆盖元素原先里面的类名,jQuery 里面类操作只是对指定类进行操作,不影响原先的类名。

1.4.3 案例:tab 栏切换

思路分析:
1.点击上部的li,当前li 添加current类,其余兄弟移除类。
2.点击的同时,得到当前li 的索引号
3.让下部里面相应索引号的item显示,其余的item隐藏

? 代码实现略。(详情参考源代码)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        li {
            list-style-type: none;
        }

        .tab {
            width: 978px;
            margin: 100px auto;
        }

        .tab_list {
            height: 39px;
            border: 1px solid #ccc;
            background-color: #f1f1f1;
        }

        .tab_list li {
            float: left;
            height: 39px;
            line-height: 39px;
            padding: 0 20px;
            text-align: center;
            cursor: pointer;
        }

        .tab_list .current {
            background-color: #c81623;
            color: #fff;
        }

        .item_info {
            padding: 20px 0 0 20px;
        }

        .item {
            display: none;
        }
    </style>
    <script src="jquery.min.js"></script>
</head>

<body>
    <div class="tab">
        <div class="tab_list">
            <ul>
                <li class="current">商品介绍</li>
                <li>规格与包装</li>
                <li>售后保障</li>
                <li>商品评价(50000)</li>
                <li>手机社区</li>
            </ul>
        </div>
        <div class="tab_con">
            <div class="item" style="display: block;">
                商品介绍模块内容
            </div>
            <div class="item">
                规格与包装模块内容
            </div>
            <div class="item">
                售后保障模块内容
            </div>
            <div class="item">
                商品评价(50000)模块内容
            </div>
            <div class="item">
                手机社区模块内容
            </div>

        </div>
    </div>
    <script>
        $(function() {
            // 1.点击上部的li,当前li 添加current类,其余兄弟移除类
            $(".tab_list li").click(function() {
                // 链式编程操作
                $(this).addClass("current").siblings().removeClass("current");
                // 2.点击的同时,得到当前li 的索引号
                var index = $(this).index();
                console.log(index);
                // 3.让下部里面相应索引号的item显示,其余的item隐藏
                $(".tab_con .item").eq(index).show().siblings().hide();
            });
        })
    </script>
</body>

</html>


原文地址:https://www.cnblogs.com/jianjie/p/12202691.html

时间: 2024-10-10 00:01:47

207 jQuery 样式操作:css (),addClass,removeClass,toggleClass,tab 栏切换案例的相关文章

JQuery中操作css样式

//1.获取和设置样式  $("#tow").attr("class")获取ID为tow的class属性  $("#two").attr("class","divClass")设置Id为two的class属性.  //2.追加样式  $("#two").addClass("divClass2")为ID为two的对象追加样式divClass2  //3.移除样式  $(

jquery轻松操作CSS样式

$(this).click(function(){  if($(this).hasClass(“zxx_fri_on”)){    $(this).removeClass(“zxx_fri_on”);  }else{    $(this).addClass(“zxx_fri_on”);  }  return false;});   添加或去除元素集合的class name 1. 使用addClass()方法 addClass(names) 添加names指定的一个或多个class name给wr

JQuery属性与样式——样式操作.css()和元素数据的存储.data()

样式操作.css()和元素数据的存储.data() 1   .css()方法用于获取元素样式属性的计算值或者设置元素的css属性 2   .css()获取元素样式属性的计算值的2种方法 .css(propertyName)获取匹配元素集合中的第一个元素的样式属性的计算值 .css(propertyNames)传递一组数组,返回一个对象结果 3    .css()设置元素的css属性的3种方法 .css(propertyName,value)设置css .css(propertyName,func

jQuery系列 第三章 jQuery框架操作CSS

第三章 jQuery框架操作CSS 3.1 jQuery框架的CSS方法 jQuery框架提供了css方法,我们通过调用该方法传递对应的参数,可以方便的来批量设置标签的CSS样式. 使用JavaScript设置标签的样式相对来说比较麻烦,而如果需要批量的设置多个标签的样式那需要写很多代码,使用jQuery可以为我们简化该过程.     使用原生的方式来设置标签的样式(代码示例) 1 <body> 2 <div>我是div标签</div> 3 <button id=

jQuery带有定时器的tab栏切换

现在网上很多类似选项卡的切换,我们成为tab栏切换,比如下图: 新浪的tab栏切换 淘宝的tab栏切换 其中,新浪的tab栏鼠标放上去,可以快速的来回切换,但是如果采取ajax异步传输,不停去加载服务器压力较大,而淘宝的是当鼠标放上去2秒左右,才切换,这样,防止不断的来回切换,这个效果我们需要带定时器来控制就好了. 小强老师今天就以淘宝的tab栏切换,利用jquery定时器来做这个效果. 首先先把html 结构书写如下: <div class="r-hd">        

jQuery实现tab栏切换效果

jQuery实现tab栏切换效果: 用jQuery做tab的效果就是点击或者鼠标悬浮在tab上时显示对应的内容,并且tab栏也会发生相应的样式变化.jQuery我用的是jquery-1.11.1.js版本. 下面的代码是简单的实现: HTML代码 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <title>j

jQuery样式操作

1.attr()方法获取和设置元素的class 用法: 获取 $("element").attr("class"); 设置 $("element").attr("class", "newClass"); 2.addClass()方法设置元素的class 用法: $("elemeent").addClass("newClassName"); 二者在设置class的区别是

深入学习jQuery样式操作

× 目录 [1]设置样式 [2]增加样式 [3]删除样式[4]切换样式[5]判断样式[6]样式操作 前面的话 使用javascript脚本化CSS是一个系列,包括行间样式.计算样式.CSS类.样式表.动态样式和伪元素这六部分.而jQuery也实现了脚本化CSS的功能,提供了更为简单易用的方法 设置样式 前面介绍过jQuery的特性操作,可以通过attr()方法进行样式设置 <style> .cB{color: blue;} </style> <script src="

jQuery修改操作css属性实现方法

在jquery中我们要动态的修改css属性我们只要使用css()方法就可以实现了,下面我来给各位同学详细介绍介绍. css()方法在使用上具有多样性,我们先来了解css()方法基本知识. css() 方法设置或返回被选元素的一个或多个样式属性. 返回 CSS 属性如需返回指定的 CSS 属性的值,请使用如下语法: css("propertyname");下面的例子将返回首个匹配元素的 background-color 值: 实例 $("p").css("b