Javascript 如何在不重新加载的情况下动态加载页面?
我有一个简单的html/css网页:Javascript 如何在不重新加载的情况下动态加载页面?,javascript,html,css,Javascript,Html,Css,我有一个简单的html/css网页: 我的所有内容都位于我的“内容”分区中,高400px,宽960px。我怎样才能在不刷新网页的情况下将我的内容更新到该div中呢?看一看。看一看。如果你可以依赖jQuery,那就是如果你可以依赖jQuery,那就是将它添加到jQuery方面,下面是我做这件事的一个例子 我在我的页面上有一个链接,它打开了一个容器,这个容器绝对位于您用鼠标单击的位置,在这个容器中是您单击的链接的内容。这里有比我在这里展示的更多的代码来执行我的特定任务,但是这应该足够抽象以供您使用
我的所有内容都位于我的“内容”分区中,高400px,宽960px。我怎样才能在不刷新网页的情况下将我的内容更新到该div中呢?看一看。看一看。如果你可以依赖jQuery,那就是如果你可以依赖jQuery,那就是将它添加到jQuery方面,下面是我做这件事的一个例子 我在我的页面上有一个链接,它打开了一个容器,这个容器绝对位于您用鼠标单击的位置,在这个容器中是您单击的链接的内容。这里有比我在这里展示的更多的代码来执行我的特定任务,但是这应该足够抽象以供您使用 现场演示:
函数updateContainer(url){
dynamicCon='#dynamicContainer';
ObjTag=$(dynamicCon);
ObjTag.load(url);
}
$(文档).ready(函数(){
$('a[rel=“dynamicLoad”]”)。绑定(“单击”,函数(事件){
url=$(this.attr('href');
更新容器(url);
event.preventDefault();
event.stopPropagation();
});
});
如果您不熟悉jQuery,我将解释一些事情
- jQuery是一个库,它使开发JavaScript应用程序变得更加容易,并且经过跨浏览器测试,我已经加入了谷歌的公开版本,因此我不必托管它,这将使页面加载更快,因为用户很可能缓存了这个谷歌版本
- 在我的
函数中,我使用指定容器,然后将其放入jQuery标记updateContainer()
中,使其成为一个对象,然后可以对其进行操作。然后,我使用load动态地用传递给函数的url更新它$()
在jQuery中是一个非常普遍使用的东西,它基本上说,当文档被删除时,运行大括号中的内容$(document).ready(function(){})
- 我将rel=“dynamicLoad”放在我想要影响的锚标记上,我这样做是因为您可能不希望所有链接动态加载到此容器中。选择器
所做的是查找具有此rel-tag属性的所有锚定标记,并使用我指定的代码修改它们a[rel=“dynamicLoad”]
- 我抓取url并将其发送到
函数,然后运行updateContainer()
和event.preventDefault()
来停止链接默认情况下的正常操作,即打开页面,您会注意到我将“event”传递到函数调用中event.stopPropagation()
函数updateContainer(url){
dynamicCon='#dynamicContainer';
ObjTag=$(dynamicCon);
ObjTag.load(url);
}
$(文档).ready(函数(){
$('a[rel=“dynamicLoad”]”)。绑定(“单击”,函数(事件){
url=$(this.attr('href');
更新容器(url);
event.preventDefault();
event.stopPropagation();
});
});
如果您不熟悉jQuery,我将解释一些事情
- jQuery是一个库,它使开发JavaScript应用程序变得更加容易,并且经过跨浏览器测试,我已经加入了谷歌的公开版本,因此我不必托管它,这将使页面加载更快,因为用户很可能缓存了这个谷歌版本
- 在我的
函数中,我使用指定容器,然后将其放入jQuery标记updateContainer()
中,使其成为一个对象,然后可以对其进行操作。然后,我使用load动态地用传递给函数的url更新它$()
在jQuery中是一个非常普遍使用的东西,它基本上说,当文档被删除时,运行大括号中的内容$(document).ready(function(){})
- 我将rel=“dynamicLoad”放在我想要影响的锚标记上,我这样做是因为您可能不希望所有链接动态加载到此容器中。选择器
所做的是查找具有此rel-tag属性的所有锚定标记,并使用我指定的代码修改它们a[rel=“dynamicLoad”]
- 我抓取url并将其发送到
函数,然后运行updateContainer()
和event.preventDefault()
来停止链接默认情况下的正常操作,即打开页面,您会注意到我将“event”传递到函数调用中event.stopPropagation()
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'></script>
<script type="text/javascript">
function updateContainer( url ) {
dynamicCon = '#dynamicContainer';
ObjTag = $( dynamicCon );
ObjTag.load( url );
}
$( document ).ready( function() {
$( 'a[rel="dynamicLoad"]' ).bind( "click", function( event ) {
url = $( this ).attr( 'href' );
updateContainer( url );
event.preventDefault();
event.stopPropagation();
});
});
</script>
<ul>
<li><a href="stackoverflow-7071545-1.htm" rel="dynamicLoad">Page 1</a></li>
<li><a href="stackoverflow-7071545-2.htm" rel="dynamicLoad">Page 2</a></li>
<li><a href="stackoverflow-7071545-3.htm">Page 3 (Will not dynamic load)</a></li>
</ul>
<div id="dynamicContainer"></div>