jQuery仅在页面刷新时触发

时间:2013-09-01 22:53:38

标签: javascript jquery slider flexslider woothemes

处理网站的滑块。使用woo主题提供的Flexslider。我无法让滑块加载并正常工作。目前,在初始页面加载时,滑块中的图像以li顺序显示。我必须刷新页面以隐藏幻灯片并使滑块起作用。

我目前的剧本:

放在滑块上方的正文中 -

$(window).load(function() {
              $('.flexslider').flexslider({
                animation: "slide"
              });
            });

并放在页面底部的页脚 -

$(function(){
  SyntaxHighlighter.all();
});
$(window).load(function(){
  $('.flexslider').flexslider({
    animation: "slide",
    start: function(slider){
      $('body').removeClass('loading');
    }
  });
});

我已经在网站上的类似主题上搜索了相当多的解决方案,似乎无法找到解决我问题的解决方案。我已将$(window).load(function() {替换为$(document).ready(),但仍然没有运气。

对此有任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

在你的init.js中加载页面内容并更新url看起来像是一个新页面。当插入新页面的内容时,我找不到重新附加/重新启动幻灯片代码的任何地方。因此,请尝试在代码中添加此部分(init.js)。它适用于我使用控制台在您的网站上进行测试。

找到此代码/功能并按建议添加。

$(document).on("ajaxComplete", function(w, v, u) {
    mypath = u.url;
    mypath = mypath.replace("http://www.palomaspices.com/", "");
    mypath = mypath.replace("http://palomaspices.com/", "");
    mypath = mypath.replace("http://palomaspices.com/", "palomaspices.com");

//Start of new code
    $('.flexslider').flexslider({
        animation: "fade",
        start: function(slider) {
            $('body').removeClass('loading');
        }
    });
/end of new code

    _gaq.push(["_trackPageview", mypath])
});