彼岸~流觞 2018-12-18 00:07 采纳率: 100%
浏览 377
已采纳

有什么办法可以让页面变化时加载脚本文件

各位大佬,现在遇到这样的一个问题,有一个脚本文件,页面加载完毕后脚本就可以起作用,但是用ajax写预加载(重写html)的时候,脚本文件就不起作用了,请问有什么办法可以让页面变化时加载脚本文件吗???
图片说明
var counter = 1;
// 每页展示4个
var num = 6;
var pageStart = 0, pageEnd = 0;

        // dropload
        $('.Quotation').dropload({
            scrollArea: window,
            domUp: {
                domClass: 'dropload-up',
                domRefresh: '<div class="dropload-refresh">↓下拉刷新</div>',
                domUpdate: '<div class="dropload-update">↑释放更新</div>',
                domLoad: '<div class="dropload-load"><span class="loading"></span>加载中...</div>'
            },
            domDown: {
                domClass: 'dropload-down',
                domRefresh: '<div class="dropload-refresh">↑上拉加载更多</div>',
                domLoad: '<div class="dropload-load"><span class="loading"></span>加载中...</div>',
                domNoData: '<div class="dropload-noData">已经到达底部</div>'
            },
            loadUpFn: function (me) {
                me.lock();
                // 无数据
                me.noData();
                me.resetload();
            },
            loadDownFn: function (me) {
                var result = '';
                counter++;
                pageEnd =<%=pageCount %> +1;//总页数
                pageStart = counter;
                if (pageStart <= pageEnd) {
                    //alert(pageStart);
                    // alert(pageEnd);
                    $.ajax({
                        type: 'GET',
                        url: '/Quotation/ArticleWeList1.ashx',
                        dataType: 'json',
                        data: { action: "ArticleWeList", cid: "<%=CId %>", searchName: "<%=SearchName %>", menuid: "<%=MID %>", page: counter },
                        success: function (data) {
                            //  alert(i)
                            for (var i = 0; i < data.length; i++) {

                                result += '<div class="wow fadeInUp" data-wow-delay="0.3s">'
                                       + '<span id="ctl00_ContentPlaceHolder_Body_rptNewsList_ctl00_lbWeListMain" class="WeListMain">'
                                       + '<span class="WeList_p btns" data-clipboard-action="copy" data-clipboard-target="#foo_'+ data[i].ArticleId + '" ' + data[i].Color + '>' + data[i].Title + ''
                                       + ' <input id="foo_'+data[i].ArticleId+'" class="copy-id" type="text" value="' + data[i].Title + '">'
                                       + '</span>'
                                       + '<ul data-am-widget="gallery" class="We_Title_Kuang am-gallery am-avg-sm-2 am-avg-md-3 am-avg-lg-4 am-gallery-overlay" data-am-gallery="{ pureview: true }">'
                                       + '<div class="">'
                                       + '' + data[i].ArticleImg + ''
                                       + '</div>'
                                       + '</ul>'
                                       + '<span id="" class="DateTime">' + data[i].UpdateTime + ''
                                       + '</span>'
                                       + '</span>'
                                       + '</div>';
                                if ((i + 1) > data.length) {
                                    //alert(i + 1)
                                    // 锁定
                                    me.lock();
                                    // 无数据
                                    me.noData();
                                    break;
                                }

                            }
                            // 为了测试,延迟1秒加载
                            setTimeout(function () {
                                $('.P_Exhibition').append(result);
                                // 每次数据加载完,必须重置
                                me.resetload();
                            }, 1000);


                        }, error: function (xhr, type) {
                            alert('Ajax error!');
                            // 即使加载出错,也得重置
                            me.resetload();
                        }
                    });
                }
                else {
                    //alert(pageStart);
                    // 锁定
                    me.lock();
                    // 无数据
                    me.noData();
                    me.resetload();

                }
            },
            threshold: 50
        });
    });
</script>
<script src="/Upload/WeCha/js/amazeui.js"></script>

  • 写回答

1条回答 默认 最新

  • 张大教主 2018-12-19 02:56
    关注
    //在页面刚开始加载的时候,会初始化页面元素对应的函数及样式,而且只会初始化一次,当页面发生变化时,很可能出现元素的改变导致原来绑定的脚本函数不起作用,
    建议单独将初始化函数封装在某个函数里如:init();页面发生变化时,收影响的元素 单独再调用一下init();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵