2012-03-07 83 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(); 
相关问题