博客列表 >0404自定义属性与样式操作之attr()和css()方法以及快捷方法:width(),height(),offset(),position()的运用实例

0404自定义属性与样式操作之attr()和css()方法以及快捷方法:width(),height(),offset(),position()的运用实例

丝丝心动的博客
丝丝心动的博客原创
2018年04月09日 18:28:51633浏览

通过对自定义属性与样式操作之attr()和css()方法以及快捷方法:width(),height(),offset(),position()的运用实例等其他方法的学习,我对jQuery的自定义属性与样式操作有了很多新认识,学到了很多。

1.自定义属性与样式操作之attr()方法代码:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>属性与自定义属性操作:attr()和</title>
</head>
<body>
 <img src="images/zly.png" width="200" alt="美女" title="明星" id="pic" data-nation="中国">
</body>
</html>
<script type="text/javascript" src="../js/jquery-3.3.1.js"></script>
<script type="text/javascript">
 // 1. attr():元素属性的获取与设置
 //必须传参
 var res = $('img').attr()   //单参数为获取:当前属性的值
 var res = $('#pic').attr('src')  //双参数为获取,第一个是属性名,第二个是要设置的新值
 $('#pic').attr('src', '../images/gyy.jpg') 
 $('#pic').attr('style', 'border-radius: 50%;box-shadow:2px 2px 2px #888')  //attr()可以获取到元素的自定义属性
 //html5中,可以通过data-前缀给标签添加用户自定义属性
 var res = $('#pic').attr('data-nation') //attr()的属性值,还支持回调函数
 $('#pic').attr('width', function(){return 100+50})
 //注意: 回调返回的数值类型,会自动转为字符类型再赋值给width属性
 var res = $('#pic').attr('width') //在控制台查看运行结果
 console.log(res)
</script>

自定义属性与样式操作之attr()方法效果:

1.png

2.自定义属性与样式操作之css()方法代码:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>4.设置元素的类样式</title>
 <style type="text/css">
  .circle {border-radius: 50%}
  .shadow {box-shadow: 3px 3px 2px #808080}
 </style>
</head>
<body>
 <img src="images/lye.jpg" width="200" id="pic">
</body>
</html>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript"> //1.应用类样式:addClass()
 $('#pic').addClass('circle')
 $('#pic').addClass('circle shadow') //2.移除类样式:removeClass()
 $('#pic').removeClass('circle')
 $('#pic').removeClass('shadow')
 $('#pic').removeClass('circle shadow') //3.样式自动切换:toogleClass()
 //如果当前元素没有添加类样式,那么自动添加上它指定的类样式
 $('#pic').toggleClass('circle shadow') //如果当前元素已经被添加上类样式,那么它就会移除掉这个类样式
 //先给元素添加上类样式
 $('#pic').addClass('circle')
 $('#pic').addClass('circle shadow') //现在执行的就是移除操作
 $('#pic').toggleClass('circle shadow') //4.查询类样式: hasClass()
 var res = $('#pic').hasClass('circle shadow') //false
 $('#pic').addClass('circle shadow') 
 var res = $('#pic').hasClass('circle shadow') //true if ($('#pic').hasClass('circle shadow')) {
  $('#pic').removeClass('circle shadow')
 } else {
  $('#pic').addClass('circle shadow') 
 } //控制台查看结果
 console.log(res)
</script>

自定义属性与样式操作之css()方法效果:

2.png

3.自定义属性与样式操作之快捷方法:width(),height(),offset(),position()的运用实例代码:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>5.设置内联样式css()</title>
 <style type="text/css">
  .box1 {
   width: 300px;
   height: 300px;
   background-color: wheat;
   position: relative;
  }
  .box2 {
   width: 100px;
   height: 100px;
   background-color: coral;
   position: absolute;
   top: 50px;
   left: 100px;
  }
 </style>
</head>
<body>
 <img src="images/lyf4.jpg">
 <div>
  <div></div>
 </div>
</body>
</html>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript"> //1.设置样式 css(name,value)
 var res = $('img').css('width',200)
 var res = $('img').css('border-radius', '10%')
 var res = $('img').css('box-shadow', '3px 3px 3px #888')
    
    // 简写:
 var res = $('img').css({
  'width': '200',
  'border-radius': '10%',
  'box-shadow': '3px 3px 3px #888'
 }) //2.读取样式 css(name),返回的都是字符串类型
 var res = $('img').css('box-shadow')
 var res = $('img').css('width') //因为返回的是字符串,所以对于宽高等数据,如果要计算,就必须先转为数值型
 var res = parseInt($('img').css('width'), 10) //200
 res += 50
 var res = $('img').css('width',res+'px') //3.width()和height()方法
 //将图片宽高设置为200,单位默认为px
 var res = $('img').width(200)
 var res = $('img').width('200')
 var res = $('img').width('200px')
 var res = $('img').width('200pt') //等价于:
 var res = $('img').css('width',200) //设置宽高就更简单了,支持运算符的简写
 var res = $('img').width('+=100')
 var res = $('img').width()  //300
 //等价于:
 var res = $('img').css('width','+=50')
 var res = $('img').width()  //250 //height()高度方法,用法与width()完全一致
 //设置宽高就更简单了,支持运算符的简写
 // var res = $('img').height('+=100')
 // var res = $('img').height()  //300
 // //等价于:
 // var res = $('img').css('height','+=50')
 // var res = $('img').height()  //250 //4.获取元素的位置:offset(),返回的是一个对象
 var res = $('img').offset()
 //查询距离左边和顶部的偏移量
 var res = $('img').offset().left
 var res = $('img').offset().top
 //可以看到这个操作反映的是元素在普通文档流的位置 
 //5.查看绝对定位元素的偏移量: position()
 var res = $('.box2').position().left
 var res = $('.box2').position().top //offset()和position()方法仅适用于页面中的可视元素,并且仅能获取,不能设置
 
 //控制台查看结果
 console.log(res)
</script>

自定义属性与样式操作之快捷方法:width(),height(),offset(),position()的运用实例效果:

3.png

总结:通过对自定义属性与样式操作之attr()和css()方法以及快捷方法:width(),height(),offset(),position()的运用实例等其他方法的学习,我对jQuery的自定义属性与样式操作有了很多新认识,学到了很多。比如读取器,设置器:1. 有一些函数,可以根据参数的数量不同,执行不同的功能,返回不同的值,类似于功能重载2. 传入一个参数,执行读取操作getter,返回该参数的当前值,叫:读取器/获取器 3. 传入二个参数,执行赋值操作setter,修改当前参数的值,叫:设置器/修改器4. 这种根据参数个数决定执行操作类型的方法,在jQuery中非常多,大家要留意。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议