我试图让皇家滑块事件触发网址更改。控制台正在显示" nextpage"正如它应该的那样,但Chrome或Safari中的页面没有变化。
这是HTML:
<a id="next" href="http://google.com"> </a>
和JS:
<script>
jQuery(document).ready(function($) {
var slider = $('.royalSlider').data('royalSlider');
var href = $('#next').attr('href');
slider.ev.on('rsAfterSlideChange', function() {
console.log("next");
if(slider.currSlideId === slider.numSlides-1) {
console.log("nextpage");
window.location.href = href;
}
});
if(slider.currSlideId === slider.numSlides-1) {
window.location.href = href;
}
});
</script>
答案 0 :(得分:1)
你必须使用方法widow.location.replace(href);
JS的完整代码:
jQuery(document).ready(function($) {
var slider = $('.royalSlider').data('royalSlider');
var href = $('#next').attr('href');
slider.ev.on('rsBeforeAnimStart', function() {
console.log("next");
if(slider.currSlideId === slider.numSlides-1) {
console.log("nextpage");
window.location.replace(href);
}
});
if(slider.currSlideId === slider.numSlides-1) {
window.location.replace(href);
}
以下链接可以为您提供帮助:http://www.w3schools.com/jsref/met_loc_replace.asp
快乐的编码!
答案 1 :(得分:0)
这最终成为皇家滑块问题,无论出于何种原因,我必须调用另一个事件(rsBeforeAnimStart而不是rsAfterSlideChange),无论如何都会更好:
<script>
jQuery(document).ready(function($) {
var slider = $('.royalSlider').data('royalSlider');
var href = $('#next').attr('href');
slider.ev.on('rsBeforeAnimStart', function() {
console.log("next");
if(slider.currSlideId === slider.numSlides-1) {
console.log("nextpage");
window.location.replace(href);
}
});
if(slider.currSlideId === slider.numSlides-1) {
window.location.replace(href);
}
});
</script>