欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JQuery样式操作、click事件以及索引值-选项卡应用示例

程序员文章站 2023-01-09 14:50:42
本文实例讲述了jquery样式操作、click事件以及索引值-选项卡应用。分享给大家供大家参考,具体如下: jquery的css函数既能读属性值,也能写属性值:...

本文实例讲述了jquery样式操作、click事件以及索引值-选项卡应用。分享给大家供大家参考,具体如下:

jquery的css函数既能读属性值,也能写属性值:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>样式操作</title>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script type="text/javascript">
    $(function () {
      var $div=$('#box');
      var str=$div.css('fontsize');//读
      alert(str);
      $div.css({backgroundcolor:'pink',color:'black',fontsize:'20px'})//写
    });
  </script>
</head>
<body>
  <div id="box">div元素</div>
</body>
</html>

其实不光是css函数,jquery内的其他函数也是这样的,如果放值就是写,如果不放就是读。

样式的加减

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>title</title>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script type="text/javascript">
    $(function () {
      var $div=$('.box');
      $div.addclass('big');//加入big类
      $div.removeclass('red');//去除red样式类
    })
  </script>
  <style type="text/css">
    .box{
      width: 100px;
      height: 100px;
      background-color: red;
    }
    .big{
      font-size: 30px;
    }
    .red{
      color: green;
    }
  </style>
</head>
<body>
<div class="box red">div元素</div>
</body>
</html>

给元素绑定click事件

$('#btn1').click(function)(){
 //内部的this指的是原生对象
 //使用jquery对象用$(this)
}

点击事件,切换样式

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>title</title>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script type="text/javascript">
    $(function () {
      var $btn=$('#btn');
      $btn.click(function () {//绑定事件
        // var $div=$('.box');
        // if(!$div.hasclass('col01')){
        //   alert(1);
        // }
        // $div.addclass('col01');
        //可以简化成下面的写法
        $('.box').toggleclass('col01');//切换样式
      })
    });
  </script>
  <style type="text/css">
    .box{
      width: 200px;
      height: 200px;
      background-color: gold;
    }
    .col01{
      background-color: green;
    }
  </style>
</head>
<body>
  <input type="button" name="" value="切换样式" id="btn">
  <div class="box">div元素</div>
</body>
</html>

索引值-选项卡

有时候需要获得匹配元素相对于其同胞元素的索引位置,此时可以用index()方法获取。

var $li=$('.list li ').eq();
alert($li.index());//弹出

<ul class="list">
<li>1</li>
<li>2</li>
..............
<li>6</li>
</ul>

得到索引值

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>title</title>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script type="text/javascript">
    $(function () {
      var $li=$('.list li');
      // alert($li.length);
      alert($li.eq(3).index());
      var s=$li.filter(".myli").index();
      alert(s);
    })
  </script>
</head>
<body>
  <ul class="list">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li class="myli">5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
  </ul>
</body>
</html>

选项卡的制作,点击事件之后,当前点击的事件加上样式,其他统计的元素,去掉样式,关键代码

$(this).addclass('current').siblings().removeclass('current');
var num=$(this).index();
$div.eq($(this).index()).addclass('active').sibling().removeclass('active');

完整:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>title</title>
  <style type="text/css">
    .btns input{
      width: 100px;
      height: 40px;
      background-color: grey;
      border: 0;
    }
    .btns .current{
      background-color: gold;
    }
    .cons div{
      width: 500px;
      height: 300px;
      background-color: gold;
      display: none;/*整体都不显示了*/
      text-align: center;
      line-height: 300px;
      font-size: 30px;
    }
    .cons .active{
      display: block;
    }
  </style>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <script type="text/javascript">
    $(function () {
      var $btn=$('.btns input');
      var $div=$('.cons div');
      // alert($btn.length);
      // alert($div.length);
      $btn.click(function () {
        // 我点击哪一个按钮,$(this)就指的是谁,而this
        //指的是原生的,$(this)指的是jquery的
        // $(this).siblings().removeclass('current');
        // $(this).addclass('current');//可以用链式调用
        $(this).addclass('current').siblings().removeclass('current');
        var num=$(this).index();
        $div.eq($(this).index()).addclass('active').sibling().removeclass('active');
      })
    })
  </script>
</head>
<body>
  <div class="btns">
    <input type="button" name="" value="01" class="current">
    <input type="button" name="" value="02">
    <input type="button" name="" value="03">
  </div>
  <div class="cons">
    <div class="active">选项卡1的内容</div>
    <div>选项卡2的内容</div>
    <div>选项卡3的内容</div>
  </div>
</body>
</html>

jquery可以使用链式调用,在改变选项卡样式的时候就用到了。

感兴趣的朋友可以使用在线html/css/javascript代码运行工具 http://tools.jb51.net/code/htmljsrun 测试上述代码运行效果。

更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery常见事件用法与技巧总结》、《jquery常用插件及用法总结》、《jquery操作json数据技巧汇总》、《jquery扩展技巧总结》、《jquery常见经典特效汇总》及《jquery选择器用法总结

希望本文所述对大家jquery程序设计有所帮助。