逆袭之路——python 前端开发之jQuery操作标签、事件操作、牛逼框架 Bootstrap【day44】

今日内容概要

  • 计时器作业
  • jQuery操作标签
  • jQuery事件操作
  • jQuery动画效果(了解)
  • 前端第三方框架Bootstrap(基础)
    请添加图片描述

今日内容详细

一、计时器作业

"""
1.一定要明确你手上的标签到底是什么对象
	如果是原生js代码查找出来的对象 那么只能调用原生js的对象方法
	如果是jQuery查找出来的对象 那么只能调用jQuery对象方法

2.原生js对象与jQuery对象的关系(**)
	可以将jQuery对象看成是数组包了标签对象
	原生js对象就是标签对象
		eg:
			['jason', ]
			'jason'
	$('#d1')[0]  // jQuery对象转原生js对象
	$(标签对象)   // 原生js对象转jQuery对象
"""
<script>
        // let startBtn = $('#d2')[0];
        let startBtn = document.getElementById('d2')
        let stopEle = document.getElementById('d3')
        let inputEle = document.getElementById('d1')
        // 4.专门定义一个展示时间的函数
        function showTime(){
            // 2.获取当前时间对象
            let cTimeObj = new Date()
            // 3.添加到input标签value属性中
            inputEle.value = cTimeObj.toLocaleString()
        }

        // 6.定义一个存储定时器对象的全局变量(多个函数都要用)
        let timeObj = null;
        // 1.先给开始按钮绑定一个点击事件
        startBtn.onclick = function () {
            // 8.判断变量是否已经指代了定时器 其实就是判断是否已经有了一个任务 如果有了就不要再新建
            if(!timeObj){
                // 5.循环定时任务
                timeObj = setInterval(showTime, 1000)  // 如果起了多个任务 变量只能指向最后一个
            }
        }

        // 7.给停止按钮绑定一个取消定时器的点击事件
        stopEle.onclick = function () {
            clearInterval(timeObj)  // 移除任务 并不会清空变量的值
            // 清空变量的值
            timeObj = null
        }
</script>

补充:

	原生js代码查找标签绑定的变量名推荐使用  xxxEle
	jQuery代码查找标签绑定的变量名推荐使用 $xxxEle

二、 jQuery操作标签

  • 核心:语法上肯定比js简洁
  1. class 操作
	 jQuery操作								  DOM操作
	addClass()								classList.add()
	removeClass()							classList.remove()
	hasClass()								classList.contains()
	toggleClass()							classList.toggle()
  1. 样式操作
	$divEle.css('border','5px solid black')

  1. 位置操作
	$(window).scrollTop()  获取左侧滚动条距离顶端的位移量
	
		"""
		实时监测距离
			$(window).scroll(function () {
		        if($(window).scrollTop() > 600){
		            alert('超过600了 架不住了')
		        }
		    })
		"""

二、 文本值操作

	jQuery											DOM
	text()										 innerText
	html() 									      innerHTML
	val() 										   value
	转js对象										 files
	'''不写值就是获取 写了就是设置'''

三、 属性操作

	$('div').attr('style')  # 获取第一个标签的style属性值
	$('div').attr('class','c1')  # 批量设置单个
	$('div').attr({'name':'jason','pwd':123})  # 批量设置多个
	$('div').removeAttr('class')  # 批量移除
	
	"""
	获取标签属性的时候 针对动态属性 尤其是复选框 不建议使用attr()
		prop('checked')		  	 结果是布尔值
		prop('checked',false)    动态设置
	"""

四、 文档处理

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

五、 事件操作

	'''js绑定'''
		标签对象.onclick = function(){}
	  标签对象.onchange = function(){}
	  ...
	'''jQuery绑定'''
		jQuery对象.click(function(){})
	  jQuery对象.change(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)}  # 移走触发
	)

七、 值监听事件

	"""
	jQuery绑定事件有两种方式
		$('#d1').click(function(){})
		$('#d1').on('click',function(){})
	有时候第一种绑定事件的方式无法生效 那么就使用第二种
	"""
	<input type="text" id="d1">
	<script>
	    $('#d1').on('input',function () {
	        console.log($(this).val())
	    })
	</script>

八、 阻止后续事件

	"""
	如果给已经有事件的标签绑定事件 那么会依次执行
	如果想要取消后续时间的执行 可以使用两种方式阻止
	"""
	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(){})
	
	# 将body内所有的点击事件交给button标签处理
	$('body').on('click','button',function(){})

十一、动画效果

	hide
	show
	slideUp
	slideDown
	fadeIn
	fadeOut
	animate

十二、前端框架 牛逼王王Bootstrap

请添加图片描述

  1. Bootstrap 框架
    内部提供了很多漂亮的标签样式和功能 我们只需要CV使用即可
  2. Bootstrap 版本
    推荐使用的是v3版本
  3. 基本使用
    1)本地导入
    2)CDN导入
            bootcdn
    bootstrap需要使用jQuery来实现动态效果
  4. 文件组成
    bootstrap需要导入两个文件
    一个是css文件
    一个是js文件
"""使用前端框架 几乎不需要自己写css 只需要写class即可"""

十三、 布局容器

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

十四、栅格系统

	class = 'row'  默认开设一行均分12class = 'col-md-n'  指定需要几份(电脑屏幕)
		# 栅格参数可以做到响应式布局xs sm md lg...
	
	如果一行十二份用不完 可以调整位置
		col-md-offset-3

十五、 表格样式

参考官网,直接cv即可

	# 表格样式
	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>      #sm 小
	<a href="" class="btn btn-success btn-lg">言多必失</a>      #lg 中
	<a href="" class="btn btn-success btn-block">言多必失</a>   #block 大

十八、图标样式

	<span class="glyphicon glyphicon-user"></span>
	# 更多图标
	http://www.fontawesome.com.cn/

请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

絵飛·的魚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值