JavaScript:覆盖函数

JavaScript:覆盖函数,javascript,jquery,Javascript,Jquery,我对javascript和Jquery有点陌生,所以我真的不知道我在做什么。我通过一点点的尝试和错误,成功地完成了大部分工作。我不确定是否有更好的javascript替代方案。我知道用户可以关闭javascript,这可能是一个问题,一旦我让这个脚本工作,但我真的不想使用PHP/服务器端的东西,如果可能的话 这是我遇到的问题,我没有在控制台中得到任何错误,脚本一直在运行,但是第一个问题不起作用 我有一个.hidden和.visible CSS类,在html之后的div中有一个ID,因为这是它覆盖

我对javascript和Jquery有点陌生,所以我真的不知道我在做什么。我通过一点点的尝试和错误,成功地完成了大部分工作。我不确定是否有更好的javascript替代方案。我知道用户可以关闭javascript,这可能是一个问题,一旦我让这个脚本工作,但我真的不想使用PHP/服务器端的东西,如果可能的话

这是我遇到的问题,我没有在控制台中得到任何错误,脚本一直在运行,但是第一个问题不起作用

我有一个.hidden和.visible CSS类,在html之后的div中有一个ID,因为这是它覆盖屏幕上所有内容的唯一方法

很晚了,所以我可能要到明天才能回复

    $(function() {
        var loading = function() {
        var overlay = document.getElementById('overlay .hidden')

        overlay.onclick = function() {
            overlay.setAttribute('class', 'visible');
};
};
loading()
});
这是整个剧本

$(window).bind("load", function() {
$('a[href^="http://"],a[href^="https://"]')
    .not('[href*="localhost"]')
    .click(function(e) {
    e.preventDefault();
    var goTo = this.getAttribute("href");

    $(function() {
        var loading = function() {
        var overlay = document.getElementById('overlay .hidden')

        overlay.onclick = function() {
            overlay.setAttribute('class', 'visible');
};
};
loading()
});

    setTimeout(function(){

         window.location = goTo;
    },7000);       
});
});
HTML位

<html lang="en">
<div id="overlay .hidden" class="overlay"></div>
 <head>

我发现我的源代码中缺少一个ajax libs href代码,所以我将其添加到了标题中。我还在我的原始代码中添加了可以正常工作的代码。由于我使用的是ajax源代码,所以它没有确认覆盖是脚本的一部分

感谢所有回复我的人,尽管在这种情况下没有什么特别的帮助,但我学到了很多

$(window).bind("load", function() {
$('a[href^="http://"],a[href^="https://"]')
    .not('[href*="localhost"]')
    .click(function(e) {
    e.preventDefault(); // prevent default anchor behavior
    var goTo = this.getAttribute("href");

    $(function() {

    var loading = function() {
        // add the overlay with loading image to the page
        var over = '<div id="overlay">' +
            '<img id="loading" src="">' +
            '<a style="color:white; text-align:center"> This is test </a>'+
            '</div>';
        $(over).prependTo('body');
    };
    loading()
    });
    setTimeout(function(){

         window.location = goTo;
    },7000);       
});
});
$(窗口).bind(“加载”,函数(){
$('a[href^=“http://]”,a[href^=“https://]”)
.not('[href*=“localhost”]'))
。单击(功能(e){
e、 preventDefault();//防止默认锚行为
var goTo=this.getAttribute(“href”);
$(函数(){
var加载=函数(){
//将加载图像的覆盖添加到页面
var over=“”+
'' +
“这是测试”+
'';
$(超过)。预结束('正文');
};
加载()
});
setTimeout(函数(){
window.location=goTo;
},7000);       
});
});

我发现我的源代码中缺少一个ajax libs href代码,所以我将其添加到了标题中。我还在我的原始代码中添加了可以正常工作的代码。由于我使用的是ajax源代码,所以它没有确认覆盖是脚本的一部分

感谢所有回复我的人,尽管在这种情况下没有什么特别的帮助,但我学到了很多

$(window).bind("load", function() {
$('a[href^="http://"],a[href^="https://"]')
    .not('[href*="localhost"]')
    .click(function(e) {
    e.preventDefault(); // prevent default anchor behavior
    var goTo = this.getAttribute("href");

    $(function() {

    var loading = function() {
        // add the overlay with loading image to the page
        var over = '<div id="overlay">' +
            '<img id="loading" src="">' +
            '<a style="color:white; text-align:center"> This is test </a>'+
            '</div>';
        $(over).prependTo('body');
    };
    loading()
    });
    setTimeout(function(){

         window.location = goTo;
    },7000);       
});
});
$(窗口).bind(“加载”,函数(){
$('a[href^=“http://]”,a[href^=“https://]”)
.not('[href*=“localhost”]'))
。单击(功能(e){
e、 preventDefault();//防止默认锚行为
var goTo=this.getAttribute(“href”);
$(函数(){
var加载=函数(){
//将加载图像的覆盖添加到页面
var over=“”+
'' +
“这是测试”+
'';
$(超过)。预结束('正文');
};
加载()
});
setTimeout(函数(){
window.location=goTo;
},7000);       
});
});

您是否也可以发布html以清除规范?如果您需要更多信息,请告诉我。我认为这是脚本中唯一重要的部分。您确定使用and id=“overlay.hidden”是个好主意吗?#overlay的css选择器可能没有选择div。将其更改为overlay会使整个页面变黑,但在进一步检查后,您是正确的。它确实会阻止CSS工作。使用jquery,比如$(“您的事件选择器”)。单击(函数(){$(“.overlay”)。切换();});你可以发布你的html来清除规范吗?如果你需要更多,让我知道。我认为这是脚本中唯一重要的部分。您确定使用and id=“overlay.hidden”是个好主意吗?#overlay的css选择器可能没有选择div。将其更改为overlay会使整个页面变黑,但在进一步检查后,您是正确的。它确实会阻止CSS工作。使用jquery,比如$(“您的事件选择器”)。单击(函数(){$(“.overlay”)。切换();});