11-jquery 属性操作 循环 手风琴动画示例
jquery属性操作
1、html() 取出或设置html内容:
//取出:
var $htm = $('#div1').html();
//设置:
$('#div1').html('<span>添加文字</span>');
2、prop() 取出或设置某个属性的值:
//取出图片地址:
var $scr = $("#img1").prop('src');
//设置图片的地址和alt属性:
$("#img1").prop({src:"test.jpg",alt:"test image"})
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="js/jquery.js"></script> <script> $(function(){ //读取#img1元素的src属性值 var $img = $("#img1").prop("src") alert($img) //读取读取#img1元素的class属性值 var $class = $("#img1").prop("class") alert($class) //设置#img2元素的src、alt属性值 $("#img2").prop({src:'test.jpg',alt:"test image"}) //获取#link元素的href属性值: var $link = $("#link").prop("href") alert($link) //设置#link元素的href属性值: $("#link").prop({href:"www.baidu.com"}) var $htm = $("#div1").html() alert($htm) $("#div1").html("<table><tr>a</tr><td>1</td></table>") }) </script> </head> <body> <img src="images/goods02.jpg" alt="" id="img1" class="img1111"> <img alt="" id="img2"> <div id="div1">abcdef</div> <a id="link">link</a> </body> </html>
jquery循环
对jquery选择的对象集合分别进行操作,需要用到jquery循环,此时可以用对象上的each方法:
$(function(){ $('.list li').each(function(){ $(this).html(i); }) }) ... <ul class="list"> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul>
<html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="js/jquery.js"></script> <script> $(function(){ var $li = $('.list li'); //一次操作8个li $li.css({backgroundColor:'red'}) //分别设置可以用eq(): $li.eq(3).css('background-color',"red") //分别设置每一个(循环),function()中可以写一个变量比如i,那么在第一次循环时,i=0,第八次循环时i=7: $li.each(function(i){ //this是循环中的每一个元素 $(this).css({fontSize:30}) $(this).index() //获取this的索引,值跟i相同 //隔行换色 if($(this).index()%2 ==0){ $(this).css({backgroundColor:'gold'}) } }) }) </script> </head> <body> <ul class="list"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> </ul> </body> </html>
手风琴动画:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .con{ width:661px; height:425px; position: relative; overflow: hidden; margin:0 auto; } .con ul{ list-style: none; width:3305px; height:425px; position: relative; } .con span{ width:20px; height:425px; background-color:gold; color:green; float: left; box-sizing: border-box; padding-top:100px; cursor:pointer; } .con li{ float: left } .bar01 { position:absolute; left:0px; } .bar01 span{ background-color: green; color:#000; } .bar02{ position: absolute; left:580px; } .bar02 span{ background-color: pink; color:#000; } .bar03{ position: absolute; left:600px; } .bar03 span{ background-color:gold; color:#000; } .bar04{ position: absolute; left:620px; } .bar04 span{ background-color:cyan; color:#000; } .bar05{ position: absolute; left:640px; } .bar05 span{ background-color:lightgreen; color:#000; } </style> <script src="js/jquery.js"></script> <script> $(function(){ var $li = $(".con li") $li.click(function(){ $(this).animate({'left':20*$(this).index()}); //点击时,li前面的li都向左移动 $(this).prevAll().each(function(){ //这里的this是指循环选择的每个li $(this).animate({left:20*$(this).index()}); }) //点击时,li后面的li都向右移动 $(this).nextAll().each(function(){ $(this).animate({left:661-20*(5-$(this).index())}); }) }) }) </script> </head> <body> <div class="con"> <ul> <li class="bar01"><span>非洲景色01</span><img src="images/1.jpeg" alt=""></li> <li class="bar02"><span>非洲景色02</span><img src="images/2.jpeg" alt=""></li> <li class="bar03"><span>非洲景色03</span><img src="images/3.jpeg" alt=""></li> <li class="bar04"><span>非洲景色04</span><img src="images/4.jpeg" alt=""></li> <li class="bar05"><span>非洲景色05</span><img src="images/5.jpeg" alt=""></li> </ul> </div> </body> </html>