我正在将 PJAX 用于一个项目。我有一个名为 #icerikAlani 的容器,可以使用 PJAX 加载其内容。这是基本布局:
<div class="container" id="icerikAlani" data-pjax-container>
<!-- NIVO SLIDER -->
<div class="row">
<div class="col-md-8">
<div id="slider" class="nivoSlider"> SLIDER CONTENT HERE... </div>
</div>
</div>
<!-- SCROLLING LOGOS -->
<div class="row">
<div class="col-md-12">
<div id="logoParade"> SCROLLING LOGOS HERE... </div>
</div>
</div>
</div>
此容器中还有另外两个脚本标签,分别用于 Nivo Slider 和 Smooth Div Scroller 插件。问题是,当我导航到页面并返回主页时,脚本标签停止工作。
我试图通过使用 pjax:end 语句来解决这个问题,但我无法让它工作,然后我尝试 pjax:success 如下但仍然没有运气。(正如我在这里读到的:使用 pjax 时在哪里放置页面初始化 javascript?)
有没有办法在不重新加载页面的情况下使用这些脚本?
这是关于 PJAX 和 Smooth Div Scroller 脚本的脚本:
<script type="text/javascript">
$(document).pjax('a','[data-pjax-container]', { fragment: "#icerikAlani" } );
//THIS IS HOW I ACTIVATE PJAX
$(document).on('pjax:beforeSend', function() {
$('#icerikAlani').fadeOut(50);
});
//WORKS...
$(document).on('pjax:end', function() {
$('#icerikAlani').fadeIn(400);
});
//WORKS...
$(document).on('ready pjax:success', function() {
$("#logoParade").smoothDivScroll({
autoScrollingMode: "always",
autoScrollingDirection: "endlessLoopRight",
autoScrollingStep: 1,
autoScrollingInterval: 25
});
//FAILS...
});
</script>
你可以在这里查看完整的代码
因为我对javascript没有经验,所以在完成项目之前,这个问题就像一堵墙。希望找到适用于滑块和滚动条的东西。