Javascript函数需要在页面工作之前刷新

时间:2017-04-06 19:01:06

标签: javascript jquery html

我有这段代码:



<script>
  function scaleDown() {
 
    $('.work > figure').removeClass('current').addClass('not-current');
    $('nav > ul > li').removeClass('current-li');
 
}
 
function show(category) {
 
    scaleDown();
 
    $('#' + category).addClass('current-li');
    $('.' + category).removeClass('not-current');
    $('.' + category).addClass('current');
 
    if (category == "all") {
        $('nav > ul > li').removeClass('current-li');
        $('#all').addClass('current-li');
        $('.work > figure').removeClass('current, not-current');
    }
 
}
 
$(document).ready(function(){
 
    $('#all').addClass('current-li');
 
    $("nav > ul > li").click(function(){
        show(this.id);
    });
 
});
</script>
&#13;
&#13;
&#13;

我已将其插入此页面&#34; artissidou&#34;它的目的是用动画过滤显示的图像。如果我尝试通过&#34导航到此页面;请与我们联系&#34;例如,除非我刷新页面,否则代码不起作用。

有没有办法让代码正常工作,无论我在哪里导航?我是js的完整菜鸟,所以请为我分解步骤。

2 个答案:

答案 0 :(得分:0)

因为

 $someTable = new SomeTable;
 $someTable->data = implode('\n', $dataArray);
 $someTable->save();
只有在您加载&#39;工作页面时才会调用

index-file中的回调函数。请尝试将回调函数的内容移动到非匿名函数,并在加载&#39;工作页面的内容后调用它

答案 1 :(得分:0)

我想说这个问题源于图片和其他文档对象完全加载之后 JQuery已经解雇了.ready()

你可以尝试:

$(window).load(function(){
  //code here
});

当文件对象加载后,.load会在.ready()的过早发射之后触发,或者更确切地说,在DOM“准备好”之后触发,而不是所有图像资源。

您还可以尝试将计时器放在.ready()函数内部,以尝试暂停必要的JS,直到所有依赖图像和此类加载:

setTimeout(function(){ 
    alert("Hello World!"); 
}, 3000);// 3 Seconds