Jquery基础知识之菜鸟教程

	jquery核心: write less do more
	1.jQuery 语法
	基础语法: $(selector).action();

	2.文档就绪事件 :文档完全加载完后执行函数
	第一种方式: $(document).ready(function(){});
	第二种方式: $(function(){});

	3.jQuery 选择器
	元素选择器 $("p").hide(); // 所有的p元素隐藏
	#id选择器  $("#test").hide();//id为test的元素隐藏
	.class选择器  $('.test').hide(); // class为test的所有元素隐藏

	$("*") //选取所有元素
	$(this) // 选取当前HTML元素
	$("p .intro") // 选取class 为intro的p元素
	$("ul li:first") //选取第一个ul元素下的第一个li元素
	$('ul li:first-child') //选取每个ul下的第一个li元素
	$('[href]') //选取所有带href属性的元素
	$('a[target="_blank"]') //选取所有a元素(带有target属性值为_blank)
	$('a[target !="_blank"]') //选取所有a元素(不带有target属性值为_blank)
	$(":button") // 选取所有type=“button”的input和button元素
	$("tr:even") // 选取所有的偶数行
	$("tr:odd") //选取所有的奇数行

	4.jQuery 事件
	事件:页面对不同访问者的响应
	鼠标事件: click    dbclick  mouseenter  mouseleave  hover(悬停事件)
	键盘事件: keypress keydown  keyup       blur
	表单事件: submit   change   focus       unload
	文档窗口事件:load  resize   scroll

	4.1 jQuery 事件方法语法 
	$("p").click(function(){//点击p元素后执行的代码});

	$("p").dblclick(function(){ //双击事件
	  $(this).hide();
	}); 

	$("#p1").mouseenter(function(){ // 鼠标指针穿过元素事件
	  alert("You entered p1!");
	}); 

	$("#p1").mouseleave(function(){// 鼠标指针离开元素事件
	  alert("Bye! You now leave p1!");
	}); 

	$("input").focus(function(){// 元素获得焦点事件
	  $(this).css("background-color","#cccccc");
	});

	$("input").blur(function(){// 元素失去焦点事件
	  $(this).css("background-color","#ffffff");
	}); 

	5.jQuery 效果
	5.1 隐藏和现实HTML元素 :
	$(selector).hide(speed,callback);
	$(selector).show(speed,callback); 
	例:
	$("button").click(function(){
	  $("p").hide(1000);//1000毫秒,隐藏的速度,1s钟隐藏
	});

	5.2 来回切换隐藏和显示 用 toggle();
	<button>隐藏/显示</button>
	$("button").click(function(){
		$("p").toggle();
	});

6. 淡入淡出 
	$(selector).fadeIn(speed,callback);
	$(selector).fadeOut(speed,callback);
	$(selector).fadeToggle(speed,callback);
	$(selector).fadeTo(speed,opacity,callback);

	  $("button").click(function(){ //三个div逐次出现
		$("#div1").fadeIn();
		$("#div2").fadeIn("slow");
		$("#div3").fadeIn(3000);
	  });

	  $("button").click(function(){ //三个div逐次淡出,依次看不见
		$("#div1").fadeOut();
	  });
	  
		<button>点击淡入/淡出</button>
		$("button").click(function(){
			$("#div3").fadeToggle(3000);
		});
	  
		$("button").click(function(){
		$("#div1").fadeTo("slow",0);//0完全透明,div1看不见了
	  });
  
  7. 滑动方法
  $(selector).slideDown(speed,callback); //向下收起来
  $(selector).slideUp(speed,callback); //向上收起来
  $(selector).slideToggle(speed,callback);
  
  8.动画:
	默认情况下,所有 HTML 元素都有一个静态位置,且无法移动。
	如需对位置进行操作,要记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute!
 
  8.1 创建自定义动画
  $(selector).animate({params},speed,callback);
  $("div").animate({
    left:'250px',
    opacity:'0.5',
    height:'150px',
    width:'150px'
  });
  
  使用相对值:
    $("div").animate({
    left:'250px',
    height:'+=150px',
    width:'+=150px'
  });
  
  使用预定义的值
  $("div").animate({
    height:'toggle'
  });
  
  使用队列功能
  $("button").click(function(){
	  var div=$("div");
	  div.animate({height:'300px',opacity:'0.4'},"slow");
	  div.animate({width:'300px',opacity:'0.8'},"slow");
	  div.animate({height:'100px',opacity:'0.4'},"slow");
	  div.animate({width:'100px',opacity:'0.8'},"slow");
  }); 
  
  9.停止动画:
  $(selector).stop(stopAll,goToEnd);
   stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
   goToEnd 参数规定是否立即完成当前动画。默认是 false。
  
  $(document).ready(function(){
	  $("#flip").click(function(){
		$("#panel").slideDown(5000);
	  });
	  $("#stop").click(function(){
		$("#panel").stop();
	  });
  });
   
   10.动画的问题  Callback 方法(类似同步,先把动画执行完了再弹框)
	// 隐藏效果完全实现后回调函数: 
	$("button").click(function(){
	  $("p").hide("slow",function(){
		alert("The paragraph is now hidden");
	  });
	});

	//没有callback回调,类似异步,警告框会在隐藏效果完成前弹出:
	$("button").click(function(){
	  $("p").hide(1000);
	  alert("The paragraph is now hidden");
	});

	11. jQuery 方法链接 Chaining
	$("#p1").css("color","red").slideUp(2000).slideDown(2000);

	12. jQuery - 获取内容和属性 DOM操作
	获得内容 - text()、html() 以及 val()
    text() - 设置或返回所选元素的文本内容
    html() - 设置或返回所选元素的内容(包括 HTML 标记)
    val() - 设置或返回表单字段的值

	<p id="test"  value="菜鸟教程">这是段落中的 <b>粗体</b> 文本。</p>
	text():这是段落中的粗体文本。
	html():  这是段落中的 <b>粗体</b> 文本。
	val(): 菜鸟教程
	<p><a href="http://www.runoob.com" value= "helloworld"id="runoob">菜鸟教程</a></p>
	$('#runoob').attr("href"); //http://www.runoob.com
	$('#runoob').attr('value');//helloworld
	
	13. jQuery - 设置内容和属性
	$("#btn1").click(function(){
		$("#test1").text("Hello world!");
	});
	$("#btn2").click(function(){
		$("#test2").html("<b>Hello world!</b>");
	});
	$("#btn3").click(function(){
		$("#test3").val("RUNOOB");
	});	
	$("#runoob").attr("href","http://www.runoob.com/jquery");
	
	13. JQUERY - 添加元素
	append() - 在被选元素的结尾插入内容
	prepend() - 在被选元素的开头插入内容
	after() - 在被选元素之后插入内容
	before() - 在被选元素之前插入内容	


	$("p").append("追加文本");
	function afterText(){
		var txt1="<b>I </b>";                    // 使用 HTML 创建元素 加粗的I
		var txt2=$("<i></i>").text("love ");     // 使用 jQuery 创建元素 斜体的love
		var txt3=document.createElement("big");  // 使用 DOM 创建元素 
		txt3.innerHTML="jQuery!";
		$("img").after(txt1,txt2,txt3);          // 在图片后添加文本
	}
	</script>
	
	14. 删除元素
    remove() - 删除被选元素(及其子元素)
    empty() - 从被选元素中删除子元素
	$("p").remove(".italic"); //删除 class="italic" 的所有 <p> 元素:
	
	15. jQuery - 获取并设置 CSS 类
    addClass() - 向被选元素添加一个或多个类
    removeClass() - 从被选元素删除一个或多个类
    toggleClass() - 对被选元素进行添加/删除类的切换操作
    css() - 设置或返回样式属性

	$("button").click(function(){
		$("h1,h2,p").addClass("blue");
		$("div").addClass("important");
	 });
	
	 $("h1,h2,p").removeClass("blue");
	 $("h1,h2,p").toggleClass("blue");
	 $("p").css({"background-color":"yellow","font-size":"200%"}); 
	
	15.jQuery 尺寸
	width(): 元素的宽度
	innerWidth() = width() + padding的宽度
	outerWidth() = innerWidth() + Border的宽度
	outerWidth(true) = outerWidth() + margin的宽度
	
	16. jQuery 遍历
	祖先是父、祖父、曾祖父等等。后代是子、孙、曾孙等等。同胞拥有相同的父。
	
	向上遍历DOM树:	
    parent() //返回被选元素的直接父元素 div包含ul包含li包含span; $('span').parent()就是li
	parents() // 返回被选元素的所有父元素,$('span').parents()就是li ul 和div,body,html
    parentsUntil(); //$("span").parentsUntil("div");//返回介于 <span> 与 <div> 元素之间的所有祖先元素,不包括div及以上

	向下遍历DOM树:	
    children() //返回被选元素的所有直接子元素
    find() //被选元素的后代元素,一路向下直到最后一个后代。
	$("div").children(); //div的直接子元素
	$("div").children("p.1");//class=1	的p的直接子元素
	$("div").find("*"); //返回 <div> 的所有后代
	$("div").find("span"); //返回属于 <div> 后代的所有 <span> 元素:

	同胞(siblings)
    siblings() 
    next()
    nextAll()
    nextUntil()
    prev()
    prevAll()
    prevUntil()

	$("h2").siblings();返回H2的所有同胞元素,平级元素
	$("h2").siblings("p").css({"color":"red","border":"2px solid red"});//返回h同胞元素中的p元素
	$("h2").next().css({"color":"red","border":"2px solid red"}); //h2后面的第一个同胞元素
	$("h2").nextAll(); 返回 <h2> 的所有跟随的同胞元素
	$("h2").nextUntil("h6"); 返回介于 <h2> 与 <h6> 元素之间的所有同胞元素
	
	过滤:
	$("div p").first(); 选取第一个 <div> 元素内部的第一个 <p> 元素
	$("div p").last();  选择最后一个 <div> 元素中的最后一个 <p> 元素
	$("p").eq(1);  返回被选元素中带有指定索引号的元素,索引从0开始
	$("p").filter(".url"); //filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除反之被返回。
	$("p").not(".url"); //与filter()相反
	
	17.JSONP 教程  跨域读取数据
	

 

posted @ 2016-10-09 14:29  黑土白云  阅读(937)  评论(0编辑  收藏  举报