我正在为一个项目使用 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 如下,但仍然没有成功。 (正如我在这里读到的:Where to put the page-initialize javascript when using pjax?)
有没有办法在不重新加载页面的情况下使用这些脚本?
这是关于 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>
您可以查看完整代码 here
因为我没有使用 javascript 的经验,所以在完成项目之前,这个问题对我来说就像一堵墙。希望找到既适用于 slider 又适用于滚动条的东西。
最佳答案
可能是您的脚本导致了错误。 试试 Firefox 和 Firebug,看看你是否发现了什么......
关于javascript - PJAX 加载后无法运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19058984/