javaweb学习笔记09

145 阅读2分钟

jquery

jquery高级
    1.动画
        1.三种方式显示和隐藏元素
            1.默认显示和隐藏方式
                1.show([speed,[easing],[fn]])
                    1.参数:
                        1.speed:动画的速度,三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
                        2.easing:(Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
                            *swing:动画执行时的效果是先慢,中间快,最后又慢
                            *linear:动画执行的速度是匀速的
                        3.fn:在动画完成时执行的函数,每个元素执行一次。
                2.hide([speed,[easing],[fn]])
                3.toggle([speed],[easing],[fn])
            2.滑动显示和隐藏方式
                1.slideDown([speed],[easing],[fn])//显示
                2.slideUp([speed,[easing],[fn]])//隐藏
                3.slideToggle([speed],[easing],[fn])
            3.淡入淡出显示和隐藏
                1.fadeIn([speed],[easing],[fn])
                2.fadeOut([speed],[easing],[fn])
                3.fadeToggle([speed],[easing],[fn])
    2.遍历
        1.JS的遍历方式
            *for(初始化值,循环结束条件,步长)
        2.JQ的遍历方式
            1.jq对象.each(callback)
                *callback:回调函数
            2.$.each(Object,[callback])//全局遍历方式
            3.for...of;//jquery3.0版本之后提供的方法
                //相当于java的增强for循环
		for(li of citys){
			alert($(li).html());
		}
	3.事件绑定
	    1.jquery标准的绑定方式
	        jq对象.事件方法(回调函数)
	    2.on绑定事件、off解除绑定
	        jq对象.on("事件名称",回调函数)
	        jq对象.off("事件名称")//如果不传递参数,将会解绑组件上的所有事件
	    3.时间切换:toggle
	        *jq对象.toggle(fn1,fn2...)
	            *当单击jq对象对应的组件后,会执行fn1,再次点击时执行fn2
	        *注意:1.9版本 .toggle() 方法删除,jQuery Migrate(迁移)插件可以恢复此功能
	    4.案例
	        1.广告的自动显示与隐藏
	            <!DOCTYPE html>
                    <html>
                    <head>
                        <meta charset="UTF-8">
                        <title>广告的自动显示与隐藏</title>
                        <style>
                            #content{width:100%;height:500px;background:#999}
                        </style>
                    
                        <!--引入jquery-->
                        <script type="text/javascript" src="../js/jquery-3.3.1.min.js"></script>
                        <script>
                    		/*
                    			*需求:
                    				1.当页面加载完成后,3秒后自动显示广告
                    				2.广告显示五秒后,自动消失
                    				
                    			*分析:
                    			 	1.使用定时器来完成,setTimeout(执行一次)
                    				2.分析发现,jquery的动画效果就是控制display属性
                    				3.使用show/hide方法来完成广告的显示
                    				
                    		
                    		*/
                    		$(function(){
                    			//定义一个定时器
                    			setTimeout(adShow,3000);
                    			
                    			setTimeout(adHide,8000);
                    			
                    			
                    		});
                    		
                    		
                    		
                    		//显示广告的方法
                    		function adShow(){
                    			$("#ad").show("slow");
                    		}
                    		//隐藏广告的方法
                    		function adHide(){
                    			$("#ad").hide("slow");
                    		}
                    
                        </script>
                    </head>
                    <body>
                    <!-- 整体的DIV -->
                    <div>
                        <!-- 广告DIV -->
                        <div id="ad" style="display: none;">
                            <img style="width:100%" src="../img/adv.jpg" />
                        </div>
                    
                        <!-- 下方正文部分 -->
                        <div id="content">
                            正文部分
                        </div>
                    </div>
                    </body>
                    </html>
            2.抽奖
            <!DOCTYPE html>
            <html>
            <head>
                <meta charset="UTF-8">
                <title>jquery案例之抽奖</title>
                <script type="text/javascript" src="../js/jquery-3.3.1.min.js"></script>
            	
            	<script language='javascript' type='text/javascript'>
            		$(function(){
            			//准备一个一维数组,装用户的像片路径
            			var imgs = [
            			    "../img/man00.jpg",
            			    "../img/man01.jpg",
            			    "../img/man02.jpg",
            			    "../img/man03.jpg",
            			    "../img/man04.jpg",
            			    "../img/man05.jpg",
            			    "../img/man06.jpg"
            			];
            			var starId;
            			var index;
            			
            			$("#startID").prop("disabled",false);
            			$("#stopID").prop("disabled",true);
            			
            			
            			
            			
            			
            			
            			
            			//1.给开始按钮绑定单击事件
            			$("#startID").click(function(){
            				$("#startID").prop("disabled",true);
            				$("#stopID").prop("disabled",false);
            				starId = setInterval(function(){
            					index = Math.floor(Math.random()*7);
            					
            					$("#img1ID").prop("src",imgs[index]);
            					
            					
            				},50);	
            			});
            			
            			//2.给结束按钮绑定单击事件
            			$("#stopID").click(function(){
            				$("#startID").prop("disabled",false);
            				$("#stopID").prop("disabled",true);
            				//停止定时器
            				clearInterval(starId);
            				$("#img2ID").prop("src",imgs[index]).hide();
            				$("#img2ID").show(1000);
            			});

            		});

            	</script>
            </head>
            
            <body>
            
            <!-- 小像框 -->
            <div style="border-style:dotted;width:160px;height:100px">
                <img id="img1ID" src="../img/man00.jpg" style="width:160px;height:100px"/>
            </div>
            
            <!-- 大像框 -->
            <div
                    style="border-style:double;width:800px;height:500px;position:absolute;left:500px;top:10px">
                <img id="img2ID" src="../img/man00.jpg" width="800px" height="500px"/>
            </div>
            
            <!-- 开始按钮 -->
            <input
                    id="startID"
                    type="button"
                    value="点击开始"
                    style="width:150px;height:150px;font-size:22px">
            
            <!-- 停止按钮 -->
            <input
                    id="stopID"
                    type="button"
                    value="点击停止"
                    style="width:150px;height:150px;font-size:22px">
            
            </body>
            </html>    
	    5.插件:增强jquery的功能
	        1.实现方式
	            1.$.fn.extend(object)
	                *增强通过jquery获取的对象的功能 对象级别的插件,通过jq获取的对象可以调用
	            2.$.extend(object)
	                *增强jquery对象本身的功能 全局级别的插件