自学如何去学习jQuery

Posted 叶文翔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自学如何去学习jQuery相关的知识,希望对你有一定的参考价值。

 

学习JQ第一个demo:

制作一个轮播图,制作方法我前面写了一篇博客,传送门-->http://www.cnblogs.com/yewenxiang/p/6100206.html  

需要的JQ知识点:

  • JQ选择器  JQ的选择器非常强大,基本上CSS里面的选择器,用JQ都能非常方便的去实现
  • JQ事件方法  .click()  .mouseover()  .mouseout()  .hover(function(){},function(){})
  • JQ css类  .css() .animate() .addClass() .removeClass() .eq() 
  • JQ的链式操作
  • JQ遍历

然后需要点JS的基础知识,如变量 if语句 等,然后就可以去做一个简单的轮播图了。

第二个demo:

做一个小图变大图效果

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6 </head>
 7 <script src="jq.js"></script>
 8 <style>
 9     .box img{
10         float: left;
11         width: 300px;
12     }
13     .bigImg{
14         position: absolute;
15         display: none;
16     }
17 </style>
18 <body>
19     <div class="box">
20         <img src="img/1.jpg" alt="">
21         <img src="img/2.jpg" alt="">
22         <img src="img/3.jpg" alt="">
23         <img src="img/4.jpg" alt="">
24     </div>
25     <img src="" alt="" class="bigImg">
26     <script>
27         $(".box img").mousemove(function(event){
28             var x = event.pageX + 15+"px";
29             var y = event.pageY + 15+"px";
30             console.log(x,y)
31             var add=$(this).attr("src");
32             $(".bigImg").attr("src",add).stop().fadeIn().css({"left":x,"top":y});
33         })
34         $(".box img").mouseout(function(){
35             $(".bigImg").stop().fadeOut();
36         })
37     </script>
38 </body>
39 </html>

这里面包含新的事件方法 event.pageX和event.pageY. 需要理解$(this)指的是当前点击的元素对象.上面代码中指的是当前点击的$(".box img")元素

  • x y为什么会加上15? 这个值可以随便定义,因为event.pageX和event.pageY 获取的是鼠标头顶部的位置,如果不加上一个值,后面的图片的左上角顶部就会位于鼠标顶部位置,向后拖动鼠标就会跑出$(".box img").mousemove() 事件,所以要加上一个值来使图片保持距离
  • 变量不能添加引号,加上引号就成了字符串
  • .stop()方法的理解,如果动画没有执行完毕,执行下个动画,则没执行完毕的动画效果立刻停止。

第三个demo:

添加删除操作

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6 </head>
 7 <script src="jq.js"></script>
 8 <body>
 9     <input type="text">
10     <input type="button" value="添加">
11     <ul>
12         <li>第1个<button class="btn">删除</button></li>
13         <li>第2个<button class="btn">删除</button></li>
14         <li>第3个<button class="btn">删除</button></li>
15     </ul>
16     <script>
17         $("[type=\'button\']").click(function(){
18             var val=$("[type=\'text\']").val();
19             var content="<li>"+val+"<button class=\'btn\'>删除</button>"+"</li>";
20             $("ul").append(content);
21             $(".btn").click(function(){
22             $(this).parent().remove();
23             })
24         })
25         $(".btn").click(function(){
26             $(this).parent().remove();
27         })
28     </script>
29 </body>
30 </html>

需要去学习-获取HTML元素.text() .html() .val()  添加元素.append() .prepend() .after() .before() 删除元素 .remove() .empty()。做完这个小demo后对这些属性有了较深的认识。

第四个demo:

滚动事件,点击中间按钮页面向下滑动一定距离,显示出回到顶部按钮,点击回到顶部的一个功能

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>Document</title>
  6     <script src="jq.js"></script>
  7     <style>
  8         img{
  9             width: 100%;
 10             display: block;
 11         }
 12         body{
 13             padding: 0;
 14             margin: 0;
 15         }
 16         ul{
 17             list-style: none;
 18             position: fixed;
 19             left: 0;
 20             top: 50%;
 21             transform: translate(0,-50%);
 22         }
 23         ul li{
 24             width: 10px;
 25             height: 10px;
 26             border-radius: 50%;
 27             background-color: white;
 28             margin-top: 10px;
 29             cursor: pointer;
 30         }
 31         .active{
 32             background-color: red;
 33         }
 34         .top{
 35             width: 25px;
 36             height: 125px;
 37             background-color: #008090;
 38             position: fixed;
 39             right: 40px;
 40             bottom: 20px;
 41             font-size: 24px;
 42             color: white;
 43             padding-left: 20px;
 44             padding-right: 20px;
 45             border-radius: 10px;
 46             cursor: pointer;
 47             display: none;
 48         }
 49         .top p{
 50             margin: 0;
 51             position: relative;
 52             top: 50%;
 53             transform: translate(0,-50%);
 54         }
 55     </style>
 56     <script>
 57         $(document).ready(function(){
 58             $("ul li").click(function(){
 59                 var    num=$(this).index();
 60                 var height = $("img").css("height");
 61                 var heightInt=parseInt(height);
 62                 var px=num*heightInt;
 63                 $("body").stop().animate({"scrollTop":px},200);
 64                 $(this).addClass("active").siblings().removeClass("active");
 65             })
 66         })
 67         $(document).ready(function(){
 68             $(".top").click(function(){
 69             $("body").scrollTop(0);
 70         })
 71         })
 72         var timer=null;
 73         $(document).scroll(function(){
 74             var px=$(document).scrollTop();
 75             var height = $("img").css("height");
 76             var heightInt=parseInt(height);
 77             var    index=px/heightInt;
 78             var num=Math.round(index);
 79             console.log(num);
 80             if(px>400){
 81                 $(".top").css("display","block");
 82             }else{
 83                 $(".top"如何去学习 如何去自学

自学Java如何入门?

如何系统地自学 Python?

零基础如何学WEB前端

Node.js学习如何提高自己?我想自学

自学Java去面试,哪种能力最重要?