在加载另一个之前杀死加载的视图

时间:2012-03-07 07:56:25

标签: javascript jquery html css

我正在使用查询加载四个不同的视图。它仅适用于装载。现在我想在加载新视图之前终止加载的视图。例如,加载网站时,将加载第一个视图。然后当用户单击任何其他链接然后在加载第二个视图之前,第一个视图应该在加载新视图之前首先被杀死。我怎样才能做到这一点。这是我的代码

<!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>

3 个答案:

答案 0 :(得分:1)

您可以同时加载所有内容并使用以下方法隐藏当前未使用的内容:

 $('thing').hide();

如果您想显示附加信息:

$('thing').show();

点击元素。

我也可能会在新元素中加载每个东西以使事情变得更容易。

答案 1 :(得分: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>

答案 2 :(得分:0)

您可能需要调用以下代码:

$('.container').empty();