jQurey

jQuery操作


操作标签

class操作

addClass();  // 添加指定的CSS类名。
removeClass();  // 移除指定的CSS类名。
hasClass();  // 判断样式存不存在
toggleClass();  // 切换CSS类名,如果有就移除,如果没有就添加。

样式操作

css("color","red")  //DOM操作:tag.style.color="red"
// 案例
$divEle.css('border','5px solid black')

位置操作

offset()  // 获取匹配元素在当前窗口的相对偏移或设置元素位置
position()  // 获取匹配元素相对父元素的偏移
scrollTop()  // 获取匹配元素相对滚动条顶部的偏移
scrollLeft()  // 获取匹配元素相对滚动条左侧的偏移

scrollTop()---实时监测距离案例

$(window).scroll(function () {
        if($(window).scrollTop() > 600){
            alert('超过600了 架不住了')
        }
    })

文本值操作

// HTML代码:
	html()// 取得第一个匹配元素的html内容
	html(val)// 设置所有匹配元素的html内容
// 文本值:
	text()// 取得所有匹配元素的内容
	text(val)// 设置所有匹配元素的内容
// 值:
	val()// 取得第一个匹配元素的当前值
	val(val)// 设置所有匹配元素的值
	val([val1, val2])// 设置多选的checkbox、多选select的值
'''不写值就是获取 写了就是设置'''

属性操作

$('div').attr('style')  # 获取第一个标签的style属性值
$('div').attr('class','c1')  # 批量设置单个
$('div').attr({'name':'jason','pwd':123})  # 批量设置多个
$('div').removeAttr('class')  # 批量移除

获取标签属性的时候,针对动态属性,尤其是复选框,不建议使用attr(),而是用prop。

prop('checked')  // 结果是布尔值
prop('checked',false)  // 动态设置
removeProp() // 移除属性

文档处理

# 内部添加
$(A).append(B)// 把B追加到A
$(A).prepend(B)// 把B前置到A
# 外部添加
$(A).after(B)// 把B放到A的后面
$(A).before(B)// 把B放到A的前面
# 清空内容
$('body').empty()

事件操作

jquery绑定事件

方式1:jQuery对象.events(function(){...})
jQuery对象.click(function(){...})
jQuery对象.hover(function(){...})
jQuery对象.blur(function(){...})
jQuery对象.focus(function(){...})
jQuery对象.change(function(){...})
jQuery对象.keyup(function(){...})

克隆操作

<button id="d1">是兄弟就来砍我!!!</button>
  <script>
        $('#d1').click(function () {
        // $('body').append($(this).clone())  // 不克隆事件,复制标签本身
        $('body').append($(this).clone(true))  // 克隆事件,会讲标签绑定的事件一起复制
        })
  </script>

悬浮事件

// 鼠标悬浮上去和移开各自触发一次
$('#d1').hover(function () {alert(123)})
// 如果想要将悬浮和移开分开执行不同的操作 需要写两个函数
$('#d1').hover(
  function () {alert(123)},  # 悬浮触发
	function () {alert(123)}  # 移走触发
)

值监听事件

绑定事件方式2:jQuery对象.on( events [, selector ],function(){})
events: 事件
selector: 选择器(可选的)
function: 事件处理函数

移除事件jQuery对象.off( events [, selector ][,function(){}])
off() 方法移除用 .on()绑定的事件处理程序

阻止后续事件

如果给已经有事件的标签绑定事件,那么会依次执行,

如果想要取消后续时间的执行,可以使用两种方式阻止

1.方式1(推荐使用)
	$('#d1').click(function () {
     alert(123)
     return false  //  取消当前标签对象后续事件的执行
    })
2.方式2(自带关键字)
	$('#d1').click(function (e) {
            alert(123)
            e.preventDefault()
    })

事件冒泡

在多个标签嵌套的并且都有相同事件的情况下,会出现逐级汇报的现象,里层的结束后会继续运行外层的事件

方式1
	return false
方式2
	e.stopPropagation()

事件委托

事件委托是通过事件冒泡的原理,利用父标签去捕获子标签的事件。

$('body').on('事件类型','选择器',function(){})

示例:表格中每一行的编辑和删除按钮都能触发相应的事件。

$("table").on("click", ".delete", function () {
  // 删除按钮绑定的事件
})

动画效果

// 基本
show()  // 展示
hide()  // 隐藏
toggle()  // 如果在展示中就隐藏起来,如果是隐藏状态就展示出来
// 滑动
slideDown()  // 向下滑动
slideUp()  // 向上
slideToggle()  // 判断状态如何取反
// 淡入淡出
fadeIn()  // 淡入
fadeOut()  // 淡出 
fadeToggle()  // 判断状态如何取反
// 自定义(了解即可)
animate(p,[s],[e],[fn])

前端框架


bootstrap框架

bootstrap框架内部提供了很多漂亮的标签样式和功能,我们只需要CV使用即可.

bootstrap版本推荐使用v3版本.它是一个是css文件和一个jd文件组成.bootstrap需要使用jQuery来实现动态效果,一般都是直接导入jQuery和bootstrap的.

基本使用:

必须先导入后使用
1.本地导入
2.cdn导入
    <link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>

布局容器

class = 'container'  					两边有留白
class = 'container-fluid'			没有留白

栅格系统

class = 'row'  默认开设一行均分12份
class = 'col-md-n'  指定需要几份(电脑屏幕)
col-md-offset-n  调整位置
# 栅格参数可以做到响应式布局xs sm md lg...
lg对应屏幕>=1200px,小于 1920px 台式1920*1080显示器
md对应屏幕>=992px,小于1200px 适合笔记本
sm对应屏幕>=768px,小于992px 适合平板
xs对应屏幕<=768 手机端屏幕

表格样式

参考官网即可 有样式有源码 拷贝使用即可
# 表格样式
class="table table-hover table-striped table-bordered"
# 单元格颜色
class="active"
class="success"
class="warning"
class="danger"
class="info"

表单样式

.pull-left			左浮
.pull-right			右浮

class='form-control'
针对radio和checkbox不能加!!!

按钮与图标样式

# 按钮样式
class = 'btn'
# 按钮颜色
<a href="" class="btn btn-info">言多必失</a>
<a href="" class="btn btn-danger">言多必失</a>
<a href="" class="btn btn-warning">言多必失</a>
<a href="" class="btn btn-primary">言多必失</a>
<a href="" class="btn btn-success">言多必失</a>
# 按钮尺寸
<a href="" class="btn btn-success btn-sm">言多必失</a>
<a href="" class="btn btn-success btn-lg">言多必失</a>
<a href="" class="btn btn-success btn-block">言多必失</a>
图标样式
<span class="glyphicon glyphicon-user"></span>
# 更多图标
http://www.fontawesome.com.cn/

作业

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
      <div   style="position: fixed;bottom: 200px;right: 20px;">
          <button id="fanhui">返回顶部</button>
      </div>
      <div id="d1" style="height: 400px;width: 300px;background: indianred">
         <input type="checkbox" id="c1">全选
         <input type="checkbox" id="c2">A
         <input type="checkbox" checked id="c3">B
         <input type="checkbox" id="c4">C
         <input type="checkbox" id="c5">反选
      </div>
      <div id="d2" style="height: 1000px;width: 300px;background: green">
         <table class="table table-hover table-striped table-bordered">
                    <thead>
                        <tr>
                            <th class="text-center danger">序号</th>
                            <th class="warning">姓名</th>
                            <th class="success">性别</th>
                            <th class="info">年龄</th>
                            <th class="success">操作</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="danger">
                            <td>1</td>
                            <td>jason</td>
                            <td>male</td>
                            <td>18</td>
                            <td><button>删除</button></td>
                        </tr>
                    <tr class="success">
                            <td>2</td>
                            <td>kevin</td>
                            <td>male</td>
                            <td>28</td>
                            <td><button>删除</button></td>
                        </tr>
                    <tr class="info">
                            <td>3</td>
                            <td>tony</td>
                            <td>female</td>
                            <td>38</td>
                             <td><button>删除</button></td>
                        </tr>
                    <tr class="warning">
                            <td>4</td>
                            <td>jerry</td>
                            <td>male</td>
                            <td>48</td>
                             <td><button>删除</button></td>
                        </tr>
                    <tr>
                            <td>5</td>
                            <td>oscar</td>
                            <td>male</td>
                            <td>58</td>
                             <td><button>删除</button></td>
                        </tr>
                    </tbody>
                </table>
      </div>
<SCRIPT>
    $('#fanhui').click(function () {
        $(window).scrollTop(0);
    })
    $("#c1").click(function () {
        if ($("#c1").prop('checked')){
           $(':checkbox').prop('checked',true);
        }else {
            $(':checkbox').prop('checked',false);
        }
    })
    $('#c5').click(function () {
        if($('#c5').prop('checked')){
            let $uncheck=$(':not(:checked)')
            let $check=$(':checked')
            $uncheck.prop('checked',true);
            $check.prop('checked',false);
        }

    })
    $("#d2 button").click(function () {
         $(this).parent().parent().empty()
    })
</SCRIPT>
</body>
</html>
posted @ 2022-05-02 23:13  早安_1207  阅读(114)  评论(0)    收藏  举报
返回顶端