亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

分頁有效,但在重新加載時不會重新附加 javascript / css 類

分頁有效,但在重新加載時不會重新附加 javascript / css 類

達令說 2023-10-14 18:51:45
我正在構建一個新的個人博客,并使用 ajax 發回 C# 控制器以獲取分頁結果。第 2 頁加載了結果,但是沒有重新加載任何 JavaScript,因為我相信,當我部分重新加載頁面的分頁部分時,它會破壞 DOM 中的所有內容,并且因為整個頁面不會重新加載,所以 JavaScript 不會重新加載。 t 調用。因此,我正在尋找一些幫助來解決如何讓外部 javascript 再次運行。它的作用是添加 css 類,提供一些淡入淡出效果等。      success: function (data) {                    if (data != null) {                        var page = data                        $('#blogsContainer').empty();                        $('#blogsContainer').replaceWith(page);所以成功了,我用新數據清除了 blogsContainer。我猜我需要在替換后添加一個函數,然后應用外部 main.js 文件中的所有內容。main.js 文件如下所示(function($) {    var contentWayPoint = function() {        var i = 0;        $('.ftco-animate').waypoint( function( direction ) {            if( direction === 'down' && !$(this.element).hasClass('ftco-animated') ) {                                i++;                $(this.element).addClass('item-animate');                setTimeout(function(){                    $('body .ftco-animate.item-animate').each(function(k){                        var el = $(this);                        setTimeout( function () {                            var effect = el.data('animate-effect');                            if ( effect === 'fadeIn') {                                el.addClass('fadeIn ftco-animated');                            } else if ( effect === 'fadeInLeft') {                                el.addClass('fadeInLeft ftco-animated');                            } else if ( effect === 'fadeInRight') {                                el.addClass('fadeInRight ftco-animated');                            } else {                                el.addClass('fadeInUp ftco-animated');                            }                            el.removeClass('item-animate');                        },  k * 50, 'easeInOutExpo' );                    });                                    }, 100);                            }        } , { offset: '95%' } );    };    contentWayPoint();}使用 ajax 部分重新加載后,如何應用缺少的 css?我希望這很清楚我想要做什么,但如果沒有,請詢問。
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

我認為解決方案可能是在成功回調結束時重新執行 contentWayPoint() 函數。然而,到那時它可能已經超出了范圍。有兩種簡單的方法可以確保它不會:

最干凈的方法是確保設置分頁的代碼位于 main.js 中的同一 (function($) {}) 塊內 - 這樣它將“捕獲”該函數。

另一種更骯臟的方法是將 var contentWaypoint= function... 更改為 window.contentWaypoint = function - 然后在需要調用它時使用 window.contentWaypoint() 。有很多更好的方法可以做到這一點,但這可能會讓您繼續前進。


查看完整回答
反對 回復 2023-10-14
  • 1 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號