![]() | 1 msg7086 2013-06-01 04:33:02 +08:00 hide+fadein哪里刷新了…… 要reset一个div,需要把div的原始状态保存下来。document.ready的时候把div.html()存下来,reset的时候写回去。 |
![]() | 2 meteor2013 OP @msg7086 你的意思是: var divClOne= $("#div1").clone(); 然后 $("#div1_div").replaceWith(divClone); 这样的话。因为div1包含的div太多了,资源会不会。。。。。? |
![]() | 3 bitsmix 2013-06-01 04:53:16 +08:00 html() |
![]() | 4 msg7086 2013-06-01 04:56:54 +08:00 html() |
5 raincious 2013-06-01 06:57:44 +08:00 我能瞎指挥么? 我的想法类似这样: 改之前先 div.shadow = doc.getElementByXX(XXX); // Backup 回写: if (div.shadow) { for(var p in div.shadow) { oldElement[p] = div.shadow[p]; } } |
6 hongyz 2013-06-01 07:43:00 +08:00 via iPhone html() 要么从服务器请求div1片段 |
![]() | 7 crazybubble 2013-06-01 07:49:47 +08:00 可以试试把div1里的div的那些初始状态记录下来,比如存在一个object里,然后点击刷新回到最初状态的时候,就把这些div的属性设置回初始状态。 |
![]() | 8 breeswish 2013-06-01 08:38:26 +08:00 via Android 要么用clone() 要么只保存HTML(如果没有listener的话) 其实这样的内存占用也不会多多少吧 :) 因为你的clone是在最初状态下clone的 |
![]() | 9 meteor2013 OP |
![]() | 10 likexian 2013-06-01 09:16:42 +08:00 backbone,你需要它 |
![]() | 11 breeswish 2013-06-01 09:21:04 +08:00 via Android @meteor2013 那就……要么clone要么从服务器拉取HTNL重新绑定 |
![]() | 12 dimfox 2013-06-01 11:17:39 +08:00 |
![]() | 13 Jessepinkman 2013-06-01 12:37:42 +08:00 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/Javascript"> function showTime(){ var tDate = new Date(); var tsecOnds= tDate.getSeconds(); if (tseconds < 10) tsecOnds= '0' + tseconds; var timeStr = '当前时间是' + tDate.getHours() + ':' + tDate.getMinutes() + ':' + tseconds; document.getElementById('time').innerHTML = timeStr; setTimeout(showTime, 1000); } </script> </head> <body Onload="showTime()"> <div id="content"> <div id="time">刷新</div> </div> </body> </html> |
![]() | 14 ipconfiger 2013-06-01 12:43:06 +08:00 一开始的时候 var origin_str = $("#div1").html(); 这样存的只是html的字符串,不是dom对象。能有多大开销呢,即使是一个1M的字符串。相对你的内存来也是小case 恢复的时候 $("#div1").html(origin_str); 就搞定了,重建dom结构和重新渲染这个区域差不多,从服务端获取也不过如此 |