2012-03-07 51 views
0

我使用查詢加載了四個不同的視圖。它僅適用於加載工作正常。現在我想在加載新視圖之前殺死加載的視圖。例如,當網站被加載時,第一個視圖被加載。然後,當用戶點擊任何其他鏈接,然後在加載第二個視圖之前,第一個視圖應該在加載新視圖之前先殺死。我怎樣才能做到這一點。這裏是我的代碼在加載另一個之前殺死加載的視圖

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
<meta http-equiv="Content-Language" content="en-us" /> 
<style type="text/css"> 
.header { width: 100%; height: 50px; background: lightblue; } 
.header ul { margin: 0; padding: 0; list-style: none; } 
.header ul li { float: left; margin-right: 50px; } 
.container { width: 100%; height: 500px; background: lightgreen; } 
</style> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $('.container').load('viewone.html'); 
     $('.header ul li a').click(function() { 
      var el = $(this).attr('rel'); 
      $('.container').load(el + '.html'); 
      return false; 
     }); 
    }); 
</script> 
<title>Title</title> 
</head> 
<body> 
<div class='header'> 
    <ul> 
     <li><a href="#" rel='viewone'>Link 1</a></li> 
     <li><a href="#" rel='viewtwo'>Link 2</a></li> 
     <li><a href="#" rel='viewthree'>Link 3</a></li> 
     <li><a href="#" rel='viewfour'>Link 4</a></li> 
    </ul> 
</div> 
<div class='container'> 

</div> 
</body> 
</html> 

回答

1

,你可以使用在同一時間裝載一切,隱藏那些沒有被使用的:如果你想顯示附上這個

$('thing').hide(); 

$('thing').show(); 

給你點擊元素。

我也許會加載每個東西在一個新的元素,使事情變得更容易一些。

+0

但我想從內存中完全刪除以前的觀點。我怎樣才能做到這一點? – 2619 2012-03-07 08:05:03

+1

而不是隱藏,你可以做.remove() – labroo 2012-03-07 08:07:08

1

嘗試以下操作:

<script type="text/javascript"> 

    $(function() { 
     $('.container').load('viewone.html'); 
     $('.header ul li a').click(function() { 
      var el = $(this).attr('rel'); 
      $('.container').empty(); 
      $('.container').load(el + '.html'); 
      return false; 
     }); 
    }); 
</script> 
0

也許你要調用下面的代碼:

$('.container').empty(); 
相關問題