Javascript 更改选项并重新初始化
我正在使用Javascript 更改选项并重新初始化,javascript,jquery,Javascript,Jquery,我正在使用jscroll作为无限滚动寻呼机 $j('.frontpage').jscroll({ loadingHtml: '<div style="text-align: center;"><img width="50" src="ring-alt-1.gif" alt="Loading" /></div>', padding: 20, nextSelector: 'div.next a', contentSelector:
jscroll
作为无限滚动寻呼机
$j('.frontpage').jscroll({
loadingHtml: '<div style="text-align: center;"><img width="50" src="ring-alt-1.gif" alt="Loading" /></div>',
padding: 20,
nextSelector: 'div.next a',
contentSelector: '.latest-container',
autoTrigger: true,
autoTriggerUntil: 1
});
$j('.frontpage').jscroll({
正在加载TML:“”,
填充:20,
下一个选择器:“div.next a”,
contentSelector:“.latest container”,
自动触发:是的,
自动触发:1
});
这是一个非常简洁的插件,它使用了我的项目必备的autoTriggerUntil
。
使用该方法可以限制自动加载内容的时间,并显示分页的“下一步”按钮
我想达到的是这一点
$(el).off()
方法和插件的回调
选项
在插件页面上测试
它可以看起来像这样:
var counter = 0;
function scrollerCallback(){
counter++;
if(counter<2){return;}
var el = $j('div.next a'); //Your 'next' selector
el.off()
el.on('click',function(e){
e.preventDefault(); // we don't want the browser to go to redirect
// Add your code to show the rest of the comments here.
});
}
var计数器=0;
函数scrollerCallback(){
计数器++;
如果(counter在回调函数中,请尝试使用以下方法:
var counter = 0;
function scrollerCallback(){
counter++;
if(counter<2){return;}
var el = $j(document).find('div.next a');
el.on('click',function(e){
e.preventDefault();
console.log("This call gets executed!");
$j('.frontpage').jscroll({
autoTrigger: false,
autoTriggerUntil: false
});
});
}
var计数器=0;
函数scrollerCallback(){
计数器++;
如果(计数器在挖掘后,我得出此解决方案:-
首先,您需要添加如下回调函数:-
$('.frontpage').jscroll({
//your existing settings ,
callback: function() {
if ($('div.next a').is(":visible")) {
$('.frontpage').jscroll.destroy();
$('div.next a').off('click');
}
}
});
<script>
var loadAllClick = function(e) {
e.preventDefault();
$('.frontpage').jscroll( //your settings
);
}
</script>
第二步将onclick属性添加到加载所有a标记(仅在加载所有a标记可见的页面中)
处理函数应该是这样的:-
$('.frontpage').jscroll({
//your existing settings ,
callback: function() {
if ($('div.next a').is(":visible")) {
$('.frontpage').jscroll.destroy();
$('div.next a').off('click');
}
}
});
<script>
var loadAllClick = function(e) {
e.preventDefault();
$('.frontpage').jscroll( //your settings
);
}
</script>
var loadAllClick=函数(e){
e、 预防默认值();
$('.frontpage').jscroll(//您的设置
);
}
并且是一个完全工作的plunker样本
希望这能回答您的问题,并可能对您有所帮助您好,谢谢!我试图通过在e.preventDefault();
之后添加新设置(将autotriggeruntil设置为0)来重新初始化它,但它仍然显示“全部加载”,在这种状态下它会冻结。你可以查看mygadgeto.com该代码在custom_js中有注释,你可以取消注释以对其进行处理。谢谢!不幸的是,此解决方案不起作用。谢谢!它似乎在你的示例中起作用,但在网站上不起作用。这个问题让我发疯了。谢谢你,我会稍微处理一下。好的,请稍做修改,尝试模拟示例,我很高兴能为您提供帮助。再次感谢您!您可以在mygadgeto.com上看到此实况。它接收事件,但…什么都没有。我缝合了您的代码。我找到了类似$j('.frontpage').jscroll的函数({loadingHtml:'',padding:20,nextSelector:'.next',contentSelector:'.category prv',autoTrigger:true});其中是上面答案中的回调,如果与主页冲突,autoTrigger:1将其删除,但没有:/