我正在开发一个单页网站,当窗口滚动到该特定部分时,我想加载每个部分。现在我知道你可以延迟加载图像,但我想懒得加载整个部分。我认为可能的唯一方法是,如果我将我的html代码放入jQuery,然后在达到滚动位置时加载它。但我宁愿不这样做。
这是一个wordpress网站,我正在使用
将每个页面加载到主页<?php require_once(''); ?>
所以我的网页布局就像这样
<?php get_header(); ?>
<?php require_once('section_one.php'); ?>
<?php require_once('section_two.php'); ?>
<?php get_footer(); ?>
所以我可以使用php只在到达滚动位置时加载这些部分或者是否有更好的jQuery方法?此外,我希望网络爬虫等仍然能够看到我的整个页面。因此,如果禁用jQuery,我希望显示整页。任何关于此的指导或教程都非常有用,谢谢
答案 0 :(得分:1)
在控制器中创建一个方法,该方法将根据节号呈现子视图并返回HTML。或者在您的情况下创建一个文件,它将接受带有节号的GET请求,并在大多数PHP框架中渲染所需节文件的输出(见下文)。这样,当滚动位置具有必要的值时,您可以发出AJAX请求,并将返回的HTML插入页面。
<?php
$section_number = $_GET['section'];
ob_start();
if(file_exists(__DIR__ . 'section_' . $section_number . '.php')) {
include(__DIR__ . 'section_' . $section_number . '.php');
$var=ob_get_contents();
ob_end_clean();
echo $var;
}
echo '';
答案 1 :(得分:0)
我建议您加载内容并用CSS隐藏它吗?然后制作一个滚动间谍解决方案,以便在该部分进入视口时显示内容?为什么强迫某人在内容加载时等待?