jQuery是一个快速的,简洁的javaScript库(占空间特别小,但功能强大!兼容性极强!),这个库里封装了一些方法,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。

一、jQuery对象

  jQuery 对象就是通过jQuery包装DOM对象后产生的对象。jQuery 对象是 jQuery 独有的. 如果一个对象是 jQuery 对象, 那么它就可以使用 jQuery 里的方法。

  jquery的基础语法:$(selector).action()

  注意:1、使用jQuery的方法,开头必须是通过标志符号 -----> $ 调用!

     2、声明变量 获取的是jQuery对象,那么变量名前边必须有$;

     3、jquery对象与DOM对象一定并且是铁定不能混用!虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法。乱使用会报错!

源生JS DOM对象与jQuery对象 实现代码对比:
//获取ID名为test 标签内容
var ele = document.getElementById("test").innerHTML;
var $ele = $("#test").html(); //两行代码对比,就知道怎样了!
若想jQuery对象转成DOM对象,在jQuery对象 变量名后加上[0]即可调用DOM对象的方法! $ele[0].innerHTML;

二、寻找元素(选择器和筛选器)[与CSS里的相对的理解]

2.1选择器

2.1.1基本选择器

//与CSS里寻找标签的方式对应去理解!

$("*")     //选择所有
$("#id") //通过id选择
$(".class") //通过类名选择
$("element") //通过标签选择
$(".class,p,div") //多元素选择

2.1.2层级选择器

//与CSS中的选择器对应去理解

$(".outer div")   //后代选择器
$(".outer>div") //子代选择器
$(".outer+div") //毗邻选择器(与该便签上下紧挨着)
$(".outer~div") //普通兄弟选择器(同一级的某一个兄弟标签)

2.1.3属性选择器

//与CSS中的属性选择器对应着去理解;也是按照某个属性去查找!

$('[id="div1"]')  
$('["rom="ssss"]')

2.1.4基本筛选器

语法:$(标签:位置)

标签(或是什么名,只要能找到要操作的标签就行)

:(以冒号分割)

位置介绍如下:
:first 第一个标签 :last 最后一个标签 :eq(索引值) 某个索引值对应的标签 :even 所有索引值为 奇数 的标签 :odd 所有索引值为 偶数 的标签 :gt(索引) 大于这个索引的元素 :lt(索引) 小于这个索引的元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
ul{
list-style: none;
}
</style>
</head>
<body>
<ul>
<li class="item">111</li>
<li class="item">222</li>
<li class="item">333</li>
<li class="item">444</li>
<li class="item">555</li>
</ul> </body>
<script src="jquery-3.2.1.js"></script>
<script>
//DOM对象方式:
// var eles=document.getElementsByClassName("item");
// for (var i=0;i<eles.length;i++){
// eles[i].style.color="red";
// } // 筛选器----------------------------------自释放一个一个去测试!!! // $("ul .item").css("color","green"); //所有标签加上颜色
// $("ul .item:first").css("color","green"); //第一个标签加上颜色
// $("ul .item:last").css("color","green"); //最后一个标签加上颜色
// $("ul .item:eq(2)").css("color","green"); //索引值为 2 的标签加上颜色
// $("ul .item:even").css("color","green"); //所有索引值为 奇数 的标签加上颜色
// $("ul .item:odd").css("color","green"); //所有索引值为 偶数 的标签加上颜色
// $("ul .item:gt(2)").css("color","green"); //所有标签的索引值 大于 这个索引值 的标签加上颜色
// $("ul .item:lt(4)").css("color","green");//所有标签的索引值 小于 这个索引值 的标签加上颜色
</script>
</html>

基本筛选器 属性小测试!

2.1.5表单选择器(特殊样式,只适用于input标签)

//通过表单里的某个属性,或是样式直接找到这个标签,有简写方式!

$("[type='text']")----->$(":text") 
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="">
账号:<input type="text" value="123"><br>
密码:<input type="password" value="123">
</form>
</body>
<script src="jquery-3.2.1.js"></script>
<script>
// 表单选择器-------------: $(":text")
//为输入框加上外边框!
// $("[type='text']").css("border","3px solid red") //属性选择器
// $(":text").css("border","3px solid red")//表单选择器
</script>
</html>

表单选择器 简单举例!

2.2 筛选器

2.2.1  过滤筛选器  (注意与基本筛选器的区别:一个是调用方法,一个是在字符串中使用!意义不一样!)

//标签.hasclass("类名")判断这个标签class中有没有这个类名,返回布尔值(有 true;无 false)

$("li").eq(2)  $("li").first()  $("ul li").hasclass("test")

 2.2.2  查找筛选器 (重点)

寻找操作,孩子组中需要传入要找的内容!

//孩子组
$("div").children(".test") //找子代
$("div").find(".test") //找后代 //兄弟组
$(".test").next() //找当前标签下一个兄弟标签
$(".test").nextAll() //找当前标签下边所有兄弟标签
$(".test").nextUntil("查找元素") //向下 直到找到 传入内容的位置 为止(不取头尾) $("div").prev() //找当前标签上一个兄弟标签
$("div").prevAll() //找当前标签上边所有兄弟标签
$("div").prevUntil("查找元素") //向上 直到找到 传入内容的位置 为止(不取头尾) //父亲组
$(".test").parent() //找当前标签的 父标签
$(".test").parents() //找当前标签的 所有 父标签
$(".test").parentUntil() #重点#
$("div").siblings() //找当前标签 除自己外 所有的同级兄弟标签

三、操作元素(属性,CSS,文档处理)----------------->  jquery 是链式操作(可以写一大长段)

3.1属性操作

--------------------------属性
$("").attr();
$("").removeAttr();
$("").prop();
$("").removeProp(); 注意:对于属性操作:
  attr:操作自定义属性
  prop:操作固有属性
attr("属性名") ---->取值
attr("属性名",属性值) ---->重新赋值,返回是该标签的一个数组 prop("属性名")---->取值
prop("属性名",属性值)---->赋值 --------------------------CSS类
$("").addClass(class|fn) //添加类名
$("").removeClass([class|fn]) //移除类名 --------------------------HTML代码/文本/值
$("").html([val|fn]) //对应的HTML代码
$("").text([val|fn]) //对应的文本
$("").val([val|fn|arr]) //获取值 针对的是固有属性的value

注意:

  $("").方法() 获取值
  $("").v方法("内容") 为其赋值

---------------------------  CSS属性要是操作
$("").css("color","red")

 3.2文档处理

//创建一个标签对象
$("<p>内容</p>") //内部插入 $("").append(content|fn) ----->$("p").append("<b>Hello</b>");//追加
$("").prepend(content|fn) ----->$("p").prepend("<b>Hello</b>");//第一个位置插入 $("").appendTo(content) ----->$("p").appendTo("div");
$("").prependTo(content) ----->$("p").prependTo("#foo"); //外部插入 $("").after(content|fn) ----->$("p").after("<b>Hello</b>");
$("").before(content|fn) ---->$("p").before(<b>Hello</b>");
//兄弟标签之间
$("").insertAfter(content) ----->$("p").insertAfter("#foo");
$("").insertBefore(content) ----->$("p").insertBefore("#foo"); //替换
$("").replaceWith(content|fn) ----->$("p").replaceWith("<b>Paragraph. </b>"); //删除 $("").empty() //删除标签内的内容 清除父标签内的子标签!
$("").remove([expr]) //直接删除整个标签 /直接删除调用的整个标签! //复制 $("").clone([Even[,deepEven]])
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="jquery-3.2.1.js"></script>
</head>
<body>
<div>
<p>ppppp</p>
</div>
<hr>
<button>add</button>
</body>
<script> //添加标签的方式:$("<标签名>文本内容</标签名>") $("button").click(function () {
// $("div").append("<h1>hello</h1>");//在父类的所有子标签之后追加
// $("div").prepend("<h1>hello</h1>");//永远在父类块子标签的第一个位置插入!
// var $ele = $("<p>hello world</p>");
// $ele.appendTo("div"); //把左边的标签添加到右边的内容中 //添加兄弟标签
// $("div").after("<h1>egon</h1>"); //在DIV标签之后添加h1标签 // $("div").replaceWith("<h1>egon</h1>"); //标签替换 把左侧的标签替换为括号内的标签
//关于删除操作
// $("div").empty(); //清空标签内的内容
// $("div").remove(); //删除整个标签 //复制标签 克隆操作!
var $eles = $("div").clone(); //先克隆内容
$("body").append($eles); //再添加
})
</script>
</html>

文档处理操作 小测试!

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body> <div class="box">
<div class="item">
<input type="button" value="+">
<input type="text">
</div>
</div> <script src="jquery-3.2.1.js"></script>
<script>
$("[value='+']").click(function(){
var $clone=$(this).parent().clone();
$clone.children(":button").val("-").attr("onclick","rev(this)");
$(".box").append($clone)
}); function rev(self){
console.log($(self).parent());
$(self).parent().remove()
} </script>
</body>
</html>

clone复制应用举例 实现文本框操作

3.3CSS操作

CSS
添加CSS样式:
$("").css(name|pro|[,val|fn])
位置:
//偏移量:
$("").offset([coordinates]) //以body为基
$("").position() //有定位以定位为基,没有一直上寻以body为基   注意: offset 偏移量 获取匹配元素在当前视口的相对偏移(像素px为单位)以body的左上角为标准
  语法:$("").offset({left: ,top: }) 例:$("p").offset({left:100,top:100})   也可先获取对象,再获取 left和top值
    var $ele = $("p").offset();
    var $left = $ele.left;
    var $top = $ele.top;
    console.log($left,$top); position 定位偏移量 语法:$("").position({left: ,top: })
和CSS中position的意思一样,若父类中没有定位,子类定位的话会从自己父类内走出,找有定位的标签直至找到body,若父类有定位,则以父类为准!
//window对象 实时获取操控整个页面的上下滚动条和左右滚动条距离顶部或是左部的距离(以像素px为单位)
//window对象!
$("").scrollTop([val]) //上下滚动条距离顶部 top 的高度
$("").scrollLeft([val]) //左右滚动条距离左部 left 的 长度
尺寸:
$("").height([val|fn])
$("").width([val|fn])
$("").innerHeight()
$("").innerWidth()
$("").outerHeight([soptions])
$("").outerWidth([options])

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
}
</style>
<script src="jquery-3.2.1.js"></script>
</head>
<body>
<h1>偏移量测试!</h1>
<p class="p1">hello world</p>
<p class="p2">hello world2</p>
<button>试一试</button>
</body>
<script>
var $p_offset = $(".p1").offset();
var $left = $p_offset.left;
var $top = $p_offset.top; $(".p2").text("left:"+ $left +"top:"+$top); $("button").click(function () {
$(".p1").offset({left:100,top:100})
})
</script>
</html>

offset偏移量举例!

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
padding: 0;
}
.div1{
width: 200px;
height: 200px;
background-color: grey;
}
.div2{
width: 200px;
height: 200px;
background-color: yellow;
/*position: relative; //position偏移量测试!*/
}
.div3{
width: 100px;
height: 100px;
background-color: blueviolet;
} </style>
<script src="jquery-3.2.1.js"></script>
</head>
<body>
<div class="div1">div1</div>
<div class="div2">div2
<div class="div3">div3</div>
</div> <p id="p1"></p>
</body>
<script>
var $p_pro = $(".div3").position();
var $left = $p_pro.left;
var $top = $p_pro.top;
$("#p1").text("left:"+$left+"top:"+$top)
</script>
</html>

position偏移量测试举例!

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
padding: 0;
} div.div1{
display: inline-block;
width: 100%;
height: 1200px;
background-color: #84a42b;
} div.top{
width: 30px;
height: 30px;
text-align: center;
font-size: 16px;
font-weight: 700;
background-color: #2459A2;
opacity: 0.6;
position: fixed;
right: 20px;
bottom: 20px;
display: none; }
</style>
<script src="jquery-3.2.1.js"></script>
</head>
<body>
<div class="div1">
</div>
<div class="top">︽</div>
</body>
<script>
// 点击触发事件 返回顶部,滚动条举例顶部距离为0!
$(".top").click(function () {
$(window).scrollTop(0);
}); //window对象 调用onscroll 事件(上下条活动,实时获取距离顶部 top 的距离)
window.onscroll=function () {
//当距离顶部的高度大于200px的时候,就显示返回顶部的框!小于就隐藏!
if ($(window).scrollTop()>200){
$(".top").show()
}
else {
$(".top").hide()
}
}
</script>
</html>

scrollTop测试举例---返回顶部!

四、jquery的循环实现

jquery的循环实现:两种方式 通过 each()方法实现!

//方式一:数组遍历

//语法结构:$.each(arr,function(){ 函数体 })

var arr=[123,456,"sb"];

var obj = {"name":"some","age":18}

$.each(arr,function(i,j){
console.log(i); //索引值
console.log(j); //数组内该索引对应的内容
}) $.each(obj,function(i,j){
console.log(i); //key
console.log(j); //value
}) //方式二:对标签的遍历 <ul>
<li>111</li>
<li class="item">222</li>
<li>333</li>
</ul> $("ul li").each(function(){ console.log($(this))
if($(this).hasClass("item")){
alert($(this)); })
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
ul{
list-style: none;
}
</style>
<script src="jquery-3.2.1.js"></script>
</head>
<body>
<ul>
<li>111</li>
<li>222</li>
<li>333</li>
<li class="item">444</li>
</ul>
</body>
<script>
//方式一:
// var arr = [11,22,33,44,"name"];
// var obj ={"name":"sb","age":22};
//
// $.each(arr,function (i,j) {
// console.log(i);
// console.log(j);
// });
//
// $.each(obj,function (i,j) {
// console.log(i);
// console.log(j);
// }); //方式二:
$("ul li").each(function () {
if($(this).hasClass("item")){
console.log($(this).text());
}
}) </script>
</html>

两种循环遍历举例!

五、事件

//编写  事件触发的方法 语法:    标签对象.事件类型(function(){})

//注意:自己写的js文件,当导入放到<head>标签内的时候,需要等带页面加载完成之后再执行js代码,否则会出现未定义的错误!等待页面加载完成有两种方法:
  原生JS: window.onload = function(){ 其他函数 }
  jQuery:$.(function(){ 其他函数 })
----------->引申:可以在文件中定义多个函数{func1,func2,.....},然后把函数的调用执行写到加载函数中【$.(function(){func1(),func2()....}】,这样也可以实现操作。
$("").click(function(){函数体})

// 页面载入
  ready(fn) //当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。与源生JS中的.onload()方法产生的效果一致!

  $(document).ready(function(){}) ------可简写为-----> $(function(){})

// 事件处理 (绑定与解除绑定)

  .on()绑定事件!
  语法:$("").on(eve,[selector],[data],fn) // 在选择元素上绑定一个或多个事件的事件处理函数。参数中 [] 代表该参数可有可无。

  //.on的selector参数是筛选出调用.on方法的dom元素的指定子元素,

  // 如:$('ul').on('click', 'li', function(){console.log('click');})就是筛选出ul下的li给其绑定click事件;

  [selector]参数的好处:好处在于.on方法为动态添加的元素也能绑上指定事件;如:

   //$('ul li').on('click', function(){console.log('click');})的绑定方式和$('ul li').bind('click', function(){console.log('click');})(bind方法了解即可)的效果一样;

  //如果给原有的<ul>标签下的<li>用函数的方式绑定.click事件$('ul li').click(function(){console.log("click")}),再通过js给ul添加了一个li:$('ul').append('<li>js new li<li>');由于代码先加载后执行的原因,这个新加的li是不会被绑上click事件的!

//但是用$('ul').on('click', 'li', function(){console.log('click');}方式绑定,然后动态添加li:$('ul').append('<li>js new li<li>');这个新生成的li也会被被绑上了click事件.

.off() 解除绑定事件,默认解除所有事件!


[data]参数的调用:
  function myHandler(event) {
    alert(event.data.foo);
  }
  $("li").on("click", {foo: "bar"}, myHandler)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script src="jquery-3.2.1.js"></script>
<script>
// $("p").click(function(){
// alert(123)
// }); // $("p").bind("click",function(){alert(456)}) // window.onload=function(){} $(function(){
$("p").css("color","red")
}); $(document).ready(function(){ $("p").on("click",function(){
alert(999)
}); $(".off_p").click(function(){
$("p").off(); // 解除所有事件
}); }); // $("button").click(function(){
// $("ul").append("<li>222</li>")
// }); // $("li").click(function(){
// alert(1234546)
// }) // $("ul").on("click","li",function(){
// alert(100)
// }) </script> </head>
<body> <p>PPPP</p> <ul>
<li>111</li>
<li>111</li>
<li>111</li>
<li>111</li>
</ul> <button>add</button>
<button class="off_p">off</button> </body>
</html>

事件代码举例

六、动画效果

1)显示隐藏(方法:show(),hide()与toggle()) 与 回调函数

  控制块区域收放过程中有背景透明度的变化,并且以整个浏览器页面的左上角为基点进行收放!
  回调函数:当某一个动作执行完成之后,自动触发的函数!

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
h1{
background-color: #8aab30;
}
</style>
<script src="jquery-3.2.1.js"></script>
</head>
<body>
<h1>hello world</h1>
<hr>
<button id="show">显示</button>
<button id="hide">隐藏</button>
<button id="toggle">反选</button>
</body>
<script>
//显示与隐藏的动画效果,与回调函数!
// 收放过程中有背景透明度的变化,控制块区域以整个浏览器页面的左上角为基点进行收放!
$("#show").click(function () {
$("h1").show(1000)
});
$("#hide").click(function () {
$("h1").hide(1000)
});
$("#toggle").click(function () {
$("h1").toggle(1000,function () {
alert("123")
})
}); </script>
</html>

显示与隐藏效果举例!

2)淡入淡出(方法:fadeIn(),fadeOut(),fadeToggle(),fadeTo()

   淡入淡出,跟透明度有关系!

   fadeIn 出现时,整个控制块的区域直接出现,透明度再从0-1!
   fadeOut 消失的时候,是等整个控制块区域透明度为0时,再全部收起!
   fadeTo 此种操作有一个控制透明度的选择,及到哪个范围为止!若与其他控制同时出现,会影响其他按钮操作的透明度效果!

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div.ss{
width: 100%;
height:400px;
background-color: #8EB737;
text-align: center;
}
</style>
<script src="jquery-3.2.1.js"></script>
</head>
<body>
<div class="ss">
<h1>hello</h1>
</div>
<hr>
<button id="fadeIn">淡入</button>
<button id="fadeOut">淡出</button>
<button id="fadeToggle">反选</button>
<button id="fadeTo">适可即好</button>
</body>
<script>
//淡入淡出,跟透明度有关系!
// fadeIn 出现时,整个控制块的区域直接出现,透明度再从0-1!
// fadeOut 消失的时候,是等整个控制块区域透明度为0时,再全部收起! //fadeTo 此种操作有一个控制透明度的选择,及到哪个范围为止!若与其他控制同时出现,会影响其他按钮操作的透明度效果! $("#fadeIn").click(function () {
$(".ss").fadeIn(2000,1)
});
$("#fadeOut").click(function () {
$(".ss").fadeOut(2000,0)
});
$("#fadeToggle").click(function () {
$(".ss").fadeToggle(2000)
});
$("#fadeTo").click(function () {
$(".ss").fadeTo(2000,0.3)
})
</script>
</html>

淡入淡出效果举例!

3)滑动 (方法:slideDown(),slideUp(),slideToggle())

  滑动效果,跟上下移动的窗帘效果类似,上头固定不动,控制块区域上下收放滑动!!!

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
padding: 0;
}
div.ss{
width: 100%;
height:400px;
background-color: #8EB737;
text-align: center;
margin-bottom: 10px;
}
</style>
<script src="jquery-3.2.1.js"></script>
</head>
<body>
<div class="ss">
<h1>滑动效果</h1>
</div>
<hr>
<button id="slideDown">滑下</button>
<button id="slideUp">收回</button>
<button id="slideToggle">反选</button>
</body>
<script>
//滑动效果,跟上下移动的窗帘效果类似,上头固定不动,控制块区域上下收放滑动!!! $("#slideDown").click(function () {
$(".ss").slideDown(1000);
});
$("#slideUp").click(function () {
$(".ss").slideUp(1000);
});
$("#slideToggle").click(function () {
$(".ss").slideToggle(1000);
});
</script>
</html>

滑动效果举例!

七、 jQuery扩展方法(增加插件)

.extend() 用以扩展jquery的使用方法

语法:
  $.extend({方法名:function([参数1,参数2]){函数体}})  //为jQuery添加静态方法

  $.fn.extend({方法名:function([参数]){函数体}})  //为jQuery对象添加方法

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body> <input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox"> <script src="jquery-3.2.1.js"></script>
<script> //编写插件有两种样式:$.ajax(jquery.方法()) 和 $("").each(jquery对象.方法()) // 给jquery编写方法
//语法:$.extend({方法名:function(参数){函数体})
$.extend({
minsss: function(a,b){
return a < b ? a : b;
},
maxsss:function(a,b){
return a > b ? a : b;
}
}); console.log($.minsss(3,6)); // $.each()
console.log($.maxsss(3,6)); // 给jquery对象 编写方法
// 语法:$.fn.extend({方法名:function(){函数体})
$.fn.extend({
checkall:function(){
// console.log(this)
this.each(function(){ // this: [input1 input1 input1 input1.]
this.checked=true; // this : [当前这一个标签,]
})
}
}); $(":checkbox:odd").checkall(); </script> </body>
</html>

jQuery插入机制代码举例!

参考:http://www.cnblogs.com/xcj26/p/3345556.html

注意函数中 return 和 return false的差别!!

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body> <form action="" id="Form">
用户名:<input type="text" name="username" class="con" mark="用户名"><br>
密码&nbsp;:<input type="password" name="pwd" class="con" mark="密码"><br>
<input type="submit" value="submit">
</form> <script src="jquery-3.2.1.js"></script>
<script> $("#Form :submit").click(function(){
var flag=true;
$("#Form .con").each(function(){
if ($(this).val().trim().length==0){
var span=$("<span>");
var mark=$(this).attr("mark");
span.text(mark+"不能为空");
$(this).after(span);
flag=false;
return false
}
});
return flag
}); // function f(){
// for(var i=0;i<4;i++){
// if (i==2){
// return
// }
// console.log(i)
// }
// }
//
// f(); // li=[11,22,33,44];
// $.each(li,function(i,v){
// if (v==33){
// return false; //
// }
// console.log(v)
// }); </script>
</body>
</html>

登录认证

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
*{
margin: 0;
padding: 0;
text-decoration: none;
} div.images_box{
width: 790px;
height: 340px;
margin: 10px auto;
border: 1px solid rebeccapurple;
position: relative;
} div.images_box ul{
list-style: none;
}
ul.imag li.item{
display: none;
position: absolute;
top:0;
left: 0;
width: 790px;
height: 340px;
} div.images_box ul.num{
position: absolute;
bottom: 20px;
left: 50% ;
margin-left: -91px;
width: 192px;
height: 20px;
line-height: 20px;
text-align: center;
border-radius: 12px;
background-color: hsla(0,0%,100%,.3);
} ul.num li{
display: inline-block;
width: 12px;
height: 12px;
margin:0 3px;
border-radius: 100%;
background-color: #ffffff;
} div.btn{
display: none;
position: absolute;
top: 50%;
margin-top: -30px;
width: 30px;
height: 60px;
text-align: center;
line-height: 60px;
font-size: 20px;
color: white;
background-color: rgba(0,0,0,.1);
} div.btn:hover{
background-color: #666;
} div.left{
left: 0;
} div.right{
right: 0;
} .num .active{
background-color: #ff0000;
} </style>
<script src="jquery-3.2.1.js"></script>
<body>
<div class="images_box">
<ul class="imag">
<li class="item" style="display: inline-block"><a href="#"><img src="1.jpg" alt=""></a></li>
<li class="item"><a href="#"><img src="2.jpg" alt=""></a></li>
<li class="item"><a href="#"><img src="3.jpg" alt=""></a></li>
<li class="item"><a href="#"><img src="4.jpg" alt=""></a></li>
<li class="item"><a href="#"><img src="5.jpg" alt=""></a></li>
<li class="item"><a href="#"><img src="6.jpg" alt=""></a></li>
<li class="item"><a href="#"><img src="7.jpg" alt=""></a></li>
<li class="item"><a href="#"><img src="8.jpg" alt=""></a></li>
</ul> <ul class="num">
<li class="active"></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<div class="left btn"> < </div>
<div class="right btn"> > </div>
</div>
<script> var i =0; function move_left() {
if (i==0){
i=8;
}
i--;
$(".imag li").eq(i).fadeIn(1000).siblings().fadeOut(200);
$(".num li").eq(i).addClass("active").siblings().removeClass("active");
} function move_right() {
if (i==7){
i=-1;
}
i++;
$(".imag li").eq(i).fadeIn(1000).siblings().fadeOut(200);
$(".num li").eq(i).addClass("active").siblings().removeClass("active");
} //自动轮播
var ID = setInterval(move_right,1500); //鼠标移动静止
$(".images_box").hover(function () {
clearInterval(ID);
$(".btn").show()
},function () {
ID = setInterval(move_right,1500);
$(".btn").hide()
}); //鼠标变动,图片变更
$(".num li").mouseover(function () {
i = $(this).index();
$(".imag li").eq(i).fadeIn(1000).siblings().fadeOut(200);
$(".num li").eq(i).addClass("active").siblings().removeClass("active");
}); //手动轮播
$(".right").click(move_right); //向右
$(".left").click(move_left); //向左 </script>
</body>
</html>

轮播图

转载地址:http://www.cnblogs.com/yuanchenqi/articles/6070667.html

八、补充:

  JS中创建字符串格式化(format)的方法

web基础(五)Jquery的更多相关文章

  1. Web基础 HTML CSS JS JQuery AJAX

    1. Web基础 网页的骨骼HTML 什么是HTML超文本标记语言:Hyper Text Markup Language 这都不重要,重要的是:HTML是Web网页的基本组成部分HTML中定义的元素, ...

  2. 进击的Python【第十六章】:Web前端基础之jQuery

    进击的Python[第十六章]:Web前端基础之jQuery 一.什么是 jQuery ? jQuery是一个JavaScript函数库. jQuery是一个轻量级的"写的少,做的多&quo ...

  3. web基础系列(五)---https是如何实现安全通信的

    https是如何实现安全通信的 如果有不正确的地方,还望指出! web基础系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 回顾 总结几个概念(具体描述可以看上一篇文章) 数字 ...

  4. C# Web Forms - Using jQuery FullCalendar

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> ...

  5. Web基础知识和技术

    WEB是一个外延广泛的概念,不单单指网站,乌徒帮专注拥有WEB界面的网站开发,帮助初学者或已经进入开发的朋友们提供参考讨论平台,然而并不一定能将所有的WEB知识讲全讲透,只是能满足初涉者的建站需求,能 ...

  6. Python之Web前端Dom, jQuery

    Python之Web前端: Dom   jQuery ###Dom 一. 什么是Dom? 文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它 ...

  7. Bootstrap <基础五>表格

    Bootstrap 提供了一个清晰的创建表格的布局.下表列出了 Bootstrap 支持的一些表格元素: 标签 描述 <table> 为表格添加基础样式. <thead> 表格 ...

  8. 十倍效能提升——Web 基础研发体系的建立

    1 导读 web 基础研发体系指的是, web 研发中一线工程师所直接操作的技术.工具,以及所属组织架构的总和.在过去提升企业研发效能的讨论中,围绕的主题基本都是——”通过云计算.云存储等方式将底层核 ...

  9. 2017-2018-2 20155314《网络对抗技术》Exp8 Web基础

    2017-2018-2 20155314<网络对抗技术>Exp8 Web基础 目录 实验内容 实验环境 基础问题回答 预备知识 实验步骤 1 macOS下Apache的配置 2 macOS ...

  10. 20145236《网络对抗》Exp8 WEB基础实践

    20145236<网路对抗>Exp8 WEB基础实践 一.基础问题回答 什么是表单 表单在网页中主要负责数据采集功能 一个表单有三个基本组成部分: 表单标签 表单域:包含了文本框.密码框. ...

随机推荐

  1. 【P1714】切蛋糕(单调队列)

    实在不明白难度等级,难不成前缀和是个很变态的东西? 说白了就是单调队列裸题,都没加什么别的东西,就是一个前缀和的计算,然而这个题也不是要用它优化,而是必须这么做啊. #include<iostr ...

  2. 【bzoj1260】涂色paint[CQOI2007](区间dp)

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1260 这道题其实和codeforces607B有点像,然而做过原题的我居然没看出来.. ...

  3. 利用CXF框架开发webservice

    开发服务端代码 1. web.xml文件中添加cxf的servlet 2. 定义接口 @WebService(targetNamespace="http://UserInfo.ws.com& ...

  4. window.onload=function(){}和$(function(){})的区别

    1.执行的个数的不同: window.onload()只会执行最后一个,些多个也会被最后一个覆盖. $(function(){})可以写多个,也会执行多个,按照从上至下的顺讯执行 2.执行时间上的不同 ...

  5. Valid Parentheses有效括号匹配。利用栈。

    问题描述:给定一个字符串,其中只包含字符‘{’,    '}',    '[',    ']',   '(',    ')'确定如果输入字符串是有效的.括号必须以正确的顺序排列,“()”和“()[]{ ...

  6. javascript语言历史

    起初,web站点事实上只不过是一个静态的HTML文档集,这些文档之间仅依靠一些简单的超链接(Hyperlinks)绑定在一起. 但很快,随着Web业务的快速普及和增长,网站管理者越来越希望自己所创建的 ...

  7. lnmp安装exif扩展

    lnmp安装exif扩展 1.找到位置 cd /usr/local/lnmp1.4-full/src 2.解压php sudo bzip2 -d php-5.6.31.tar.bz2 sudo tar ...

  8. 搭建svn服务器小结

    最开始是用VisualSVN-Server来搭建服务器的,某一天安装了eset杀毒软件后,发现不能用了,每次打开配置页时报错.Visualsvn server 0x80070005 百度搜索,找到相同 ...

  9. zoj3988 二分图匹配

    给一个数组,对于每两个数加起来为素数那么就是一个集合,求不超过k个集合的最多数是多少 解法:二分图匹配,先打素数筛,预处理边集,匹配完之后分两种情况k>匹配数,那么可以直接输出匹配数*2,否则可 ...

  10. CC++中sizeof函数的用法

    C/C++中sizeof()函数的用法 学习C/C++有时会遇到下面的情况: 已知 char *str1="absde"; char str2[]="absde" ...