1+ <!DOCTYPE html>
2+ < html lang ="en ">
3+ < head >
4+ < meta charset ="UTF-8 ">
5+ < title > </ title >
6+ < style >
7+ * {
8+ margin : 0 ;
9+ padding : 0 ;
10+ list-style : none;
11+ }
12+ ul {
13+ width : 500px ;
14+ margin : 50px auto;
15+ border : 2px solid lightgreen;
16+ box-shadow : 0 0 10px darkGreen;
17+ padding : 10px ;
18+ }
19+ ul li {
20+ width : 100% ;
21+ height : 40px ;
22+ line-height : 40px ;
23+ border-bottom : 1px dashed green;
24+
25+ white-space : nowrap;
26+ overflow : hidden;
27+ text-overflow : ellipsis;
28+ }
29+ ul li span {
30+ display : inline-block;
31+ width : 20px ;
32+ height : 20px ;
33+ border-radius : 50% ;
34+ background : red;
35+ color : white;
36+ text-align : center;
37+ line-height : 20px ;
38+ font-weight : bold;
39+ margin-right : 4px ;
40+ }
41+ </ style >
42+ </ head >
43+ < body >
44+ < ul id ="ul1 ">
45+ < li > < span > 0</ span > 习近平总书记12日上午在十八届中央纪委六次全会上发表重要讲话,深刻分析反腐败斗争依然严峻复杂的形势,提出当前和今后一个时期的目标任务。</ li >
46+ < li > < span > 1</ span > 习近平总书记12日上午在十八届中央纪委六次全会上发表重要讲话,深刻分析反腐败斗争依然严峻复杂的形势,提出当前和今后一个时期的目标任务。</ li >
47+ < li > < span > 2</ span > 习近平总书记12日上午在十八届中央纪委六次全会上发表重要讲话,深刻分析反腐败斗争依然严峻复杂的形势,提出当前和今后一个时期的目标任务。</ li >
48+ </ ul >
49+ < script src ="json1.js "> </ script >
50+ < script >
51+ //根据数据,创建li;
52+ var oUl = document . getElementById ( 'ul1' ) ;
53+ var aLi = oUl . getElementsByTagName ( 'li' ) ;
54+ for ( var i = 0 ; i < aLi . length ; i ++ ) {
55+ aLi [ i ] . onmouseover = function ( ) {
56+ this . style . background = 'yellow' ;
57+ } ;
58+ aLi [ i ] . onmouseout = function ( ) {
59+ this . style . background = '' ;
60+ } ;
61+ }
62+ //思路3:
63+ var frg = document . createDocumentFragment ( ) ;
64+ for ( var i = 0 ; i < ary . length ; i ++ ) {
65+ var oLi = document . createElement ( 'li' ) ;
66+ oLi . innerHTML = '<span>' + ( i + 3 ) + '</span>' + ary [ i ] . desc ;
67+ frg . appendChild ( oLi ) ; //把每次创建的li都放入frg文档碎片;
68+ }
69+ oUl . appendChild ( frg ) ;
70+ frg = null ;
71+ /*//思路2:动态创建--会引发页面回流,非常耗性能,不推荐
72+ for(var i=0; i<ary.length; i++){
73+ var oLi=document.createElement('li');
74+ oLi.innerHTML='<span>'+(i+3)+'</span>'+ary[i].desc;
75+ oUl.appendChild(oLi);
76+ }*/
77+ //回流 和 重绘
78+ //回流:当页面结构发生一点变动的时候,需要刷新整个页面,进行重新的构建;--非常耗性能;
79+ /*//1.字符串拼接的绑定方式
80+ var str='';
81+ for(var i=0; i<ary.length; i++){
82+ str+='<li><span>'+(i+3)+'</span>'+ary[i].desc+'</li>';
83+ }
84+ oUl.innerHTML+=str;//=的作用:重新赋值;
85+ //oUl.innerHTML=oUl.innerHTML+str;
86+ //字符串拼接的方式,相当于把页面中的内容,全部拿出来,跟字符串进行拼接后,变成一个新的字符串;把这些字符串转为代码重新放入页面,所以,以前页面中元素身上原有的事件,已经都不在了;
87+ //优点:1.绑定方式非常简单;2.性能好,因为他对DOM的操作只有一次;
88+ //缺点:以前页面中元素身上的事件都不在了;*/
89+ </ script >
90+ </ body >
91+ </ html >
0 commit comments