我不知道它是否相关但我使用jQuery Cycle 2插件http://jquery.malsup.com/cycle2/api/
幻灯片转换后执行以下代码。它的工作完美但我需要在页面加载时运行代码(在任何幻灯片转换之前)。如何修改下面的代码才能实现?
$('.cycle-slideshow').on('cycle-after', function( event, opts ) {
setTimeout(function() {
var oldURL = window.location.hash;
var final_url="";
final_url=oldURL.replace('#', '');
history.pushState('data', '', final_url);
console.log('test 2');
}, 1);
});
答案 0 :(得分:3)
为该功能命名并参考它。
var cycleFn = function( event, opts ) {
setTimeout(function() {
var oldURL = window.location.hash;
var final_url="";
final_url=oldURL.replace('#', '');
history.pushState('data', '', final_url);
console.log('test 2');
}, 1);
};
$(window).on('load', cycleFn);
$('.cycle-slideshow').on('cycle-after', cycleFn);
答案 1 :(得分:0)
尝试这样做。将重复内容定义为函数,然后随时使用它。
function theFunction(){
setTimeout(function() {
var oldURL = window.location.hash;
var final_url="";
final_url=oldURL.replace('#', '');
history.pushState('data', '', final_url);
console.log('test 2');
}, 1);
}
$('.cycle-slideshow').on('cycle-after', function( event, opts ) {
theFunction();
});
$(document).ready(function(){
theFunction();
});
答案 2 :(得分:0)
试试这个:
调用pageload:
window.onload = function{CycleSlideshowFn();}
调用事件处理程序:
$('.cycle-slideshow').on('cycle-after', function(){
CycleSlideshowFn();
));
你的职能:
function CycleSlideshowFn(){
setTimeout(function() {
var oldURL = window.location.hash;
var final_url="";
final_url=oldURL.replace('#', '');
history.pushState('data', '', final_url);
console.log('test 2');
}, 1);
}