javascript - 加载延迟加载内容所需的 JS 脚本
问题描述
在页面完全加载后,我遇到了为我的延迟加载内容加载 JS 脚本的问题。
请通过我的代码
/*JS Which Runs on LoadMore button Clicks*/
$.ajax({
method :'GET',
url: baseUrl+'ajaxcontroller/Load_Categories_To_View',
success:function(data){
$('#searchResults').append(data);
//scriptLoader('#scripts');
$('#loadingImage2').hide();
},
complete: function(){
$('#loadingImage2').hide();
$("#loadMore").show();
},
error:function (xhr, ajaxOptions, thrownError) {alert(thrownError);}
});
<!-SEARCH RESULTS PAGE-->
<!doctype html>
<html lang="en">
<head>
</head>
<body>
<section class="content">
<section class="block">
<div class="container">
<!----------------------------------------------Ads---------------------------------------------------->
<?php if(!empty($headerdata[0]['homepageAds720x90']) && $headerdata[0]['enable_ads']==1){ ?>
<section class="block" align="center">
<?php $this->load->view('ads/homepageAds720x90'); ?>
</section>
<?php }?>
<!------------------------------------------------------------------------------------------------------>
<!-------------------------------------------Search Product Page---------------------------------------->
<div id="loadingImage" align="center" style="display:none;"> <img src="<?php echo base_url();?>assets/img/loadingimage.gif"/> </div>
<div id="searchResults"><div id="scripts"></div></div>
<div id="loadMore" style="">
<a href="#"><?php echo $this->lang->line('loadmore_btn'); ?></a>
</div>
<!-------------------------------------------------------------------------------------------------------->
</div>
</section>
</section>
</div>
<div id="backtop">▲</div>
<!----------------------------------------------Page Scripts--------------------------------------------------------->
<script src="<?php echo base_url();?>assets/js/lazyloadcontrols.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<!------------------------------------------------------------------------------------------------------------------->
</body>
</html>
正如我通过我的代码显示的那样,它将加载第一组结果,然后会有一个 loadMore 按钮,用户必须单击该按钮才能加载下一组结果。
一切都按预期工作,但问题是当用户单击“加载更多”按钮时,搜索结果页面中的 JS 脚本也会加载,每次用户单击“加载更多”按钮时都会重复。但是很容易我可以从我的搜索结果页面中删除以下脚本,但是没有任何页面功能适用于延迟加载的内容。因为要运行这些函数,每次用户单击 LoadMore 按钮时都应该加载lazyloadcontrols.js。
<script src="<?php echo base_url();?>assets/js/lazyloadcontrols.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
所以我的问题是,有什么方法可以让我将这些 JS 脚本加载到我的主搜索页面,并将它们用于稍后当用户单击 LoadMore 按钮时我将加载的内容?基本上有什么方法可以让我将这些 JS 脚本应用于整个页面,而无需在每次用户加载结果时都复制它们?
提前致谢
解决方案
我认为你的
<script src="<?php echo base_url();?>assets/js/lazyloadcontrols.js"></script>
应该在下面添加
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
推荐阅读
- c# - 如何更改 ListView 的默认选择颜色?
- google-cloud-platform - 如何将文件夹从存储桶存储上传到 vm 实例
- python - json 文件的 i/o 到底发生了什么?
- python-3.6 - 如何使用 UIA 包装器修复返回空值的列表框
- c# - (何时)使用 FluentAssertions 是个好主意吗?
- c# - 如何在 Unity Android 应用程序中使用 OpenCV 中的 ARCore 相机图像?
- python - 如何合并列表中的对象
- mysql - 协助 SELECT 和 COUNT
- c# - Gitlab 命令无法通过 IIS Web 应用程序运行
- clearcase - 可以将我签出的文件从实际目录复制到我的主目录中吗?