我正在尝试创建一个页面,其中某个div(包含大量的php,html和javascript内容)在页面的其余部分之后加载。这有可能吗?
答案 0 :(得分:5)
您可以将此div应用于隐藏的样式,然后使用javascript来显示它:
$(function() {
$('#someDiv').show();
});
但是如果你想避免最初加载它,你可以使用AJAX:
$(function() {
// <div id="container"></div> will be an empty div
$('#container').load('/script');
});
另请注意,如果您希望在加载所有其他内容(包括图形)后进行此加载,则可以使用$(window).load
代替$(document).ready
:
$(window).load(function () {
...
});
答案 1 :(得分:1)
我遇到了一个类似的问题,需要在创建特定的div后填写数据。 我使用.ejs 文件用于此堆栈。
我所做的是将所有代码拖到.ejs页面中。按照我需要的方式对其进行排序。
例如。
<script type="text/javascript">
jQuery making the divs
</script>
<% Pull Data and put it in the divs above %>
答案 2 :(得分:0)
查看jQuery的$ .ajax和相关函数。我想你会发现它们正是你想要的。一个简单的例子:
<script type="text/javascript">
$(function() { // called when page is done loading; you can have lots of these
$.ajax({
url: 'other-content.php',
success: function(data) { $('#load-me-later').html(data); }
});
});
</script>
<div id="load-me-later"></div>
答案 3 :(得分:0)
某些
<div id="the_div">some text or whatever</div>
必须
#the_div { display:none; }
在css。
然后
$(document).ready(function() {
$("#the_div").show();
});
答案 4 :(得分:0)
有几种方法可以做到这一点。例如,你可以将该div放在页面的末尾,并在它之前刷新();但这不是很可靠,而且很难获得位置和喜欢的权利。更好的方法是ajax:
$.ajax({
url: 'myurl.php',
data: someDataMaybe,
success: function(html) {
$('#mydiv').html(html); // document.getElementById('mydiv').innerHTML = html would be a thousand times faster, but I've been told jquery people like this more
}
});
这只会在页面加载后执行,然后将内容加载到div中。它当然假设myurl.php输出仅内容应该在所述div中。
所以说你有这个页面:
<div id="page">
<div id="content">
<!-- lotsa stuff in here -->
</div>
<div id="mydiv"></div>
</div>
<script type="text/javascript">
// the stuff above ^
</script>
myurl.php输出:
Some PHP-generated stuff
会导致:
<div id="mydiv">Some PHP-generated stuff</div>