Blogger Information
Blog 34
fans 0
comment 1
visits 22286
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0404自定义属性与样式操作之attr()和css()方法以及快捷方法:width(),height(),offset(),position()的运用实例
丝丝心动的博客
Original
626 people have browsed it

通过对自定义属性与样式操作之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中非常多,大家要留意。

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post