相关疑难解决方法(0)

纯JavaScript相当于jQuery的$ .ready() - 如何在页面/ DOM准备就绪时调用函数

好吧,这可能只是一个愚蠢的问题,但我确信还有很多其他人不时会问同样的问题.我,我只是想以任何方式100%确定.有了jQuery,我们都知道这很精彩

$('document').ready(function(){});
Run Code Online (Sandbox Code Playgroud)

但是,假设我想运行一个用标准JavaScript编写的函数,没有库支持它,并且我想在页面准备好处理它时立即启动一个函数.什么是正确的方法来解决这个问题?

我知道我能做到:

window.onload="myFunction()";
Run Code Online (Sandbox Code Playgroud)

......或者我可以使用body标签:

<body onload="myFunction()">
Run Code Online (Sandbox Code Playgroud)

...或者我甚至可以在所有内容之后尝试在页面底部,但结尾bodyhtml标记如:

<script type="text/javascript">
   myFunction();
</script>
Run Code Online (Sandbox Code Playgroud)

什么是以jQuery方式发布一个或多个函数的跨浏览器(旧/新)兼容方法$.ready()

html javascript jquery

1244
推荐指数
8
解决办法
129万
查看次数

1205
推荐指数
14
解决办法
84万
查看次数

399
推荐指数
8
解决办法
18万
查看次数

社交媒体按钮减慢网站加载时间

我正在创建一个简单快速的网站,我正在尝试尽可能地优化网站.我注意到社交媒体按钮正在减慢网站的速度.我包括Facebook Like Button,Twitter Button和Google+ Button.所以我跑了几个测试:

网站没有社交媒体按钮,加载时间0.24s:

在此输入图像描述

网站社交媒体按钮,加载时间1.38s:

在此输入图像描述

这是我的代码:

<div id="social">
    <!-- FB -->
    <div id="fb-root"></div>
    <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_EN/all.js#xfbml=1&status=0"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script>
    <div class="fb-like" data-href="http://facebook.com/textsearcher" data-width="150" data-layout="button_count" data-show-faces="false" data-send="false"></div>
    <!-- TWITTER -->
    <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.textsearcher.com/" data-hashtags="TextSearcher">Tweet</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
    <!-- G+ -->
    <div class="g-plusone" data-size="medium" data-href="http://www.textsearcher.com/"></div>
    <script type="text/javascript"> (function() { var po = document.createElement('script'); po.type …
Run Code Online (Sandbox Code Playgroud)

html javascript facebook-social-plugins twitter-button google-plus-one

58
推荐指数
2
解决办法
4万
查看次数

如果jQuery不可用,有没有办法检查document.ready()?

可能重复:
$(document).ready等效没有jQuery

我知道你可以使用window.onload事件来运行函数,但是有没有办法让脚本查询文档是否准备好了?

就像是

function update()
{
    if( !document.ready() )  // don't do unless document loaded
        return ;
}
window.setInterval( 'update();', 100 ) ;
Run Code Online (Sandbox Code Playgroud)

无法更改<body>元素,也无法更改jQuery /其他库.

javascript

36
推荐指数
1
解决办法
5万
查看次数

jQuery的"文档就绪"功能如何工作?

jQuery如何检查文档是否已加载?如何检查文档加载是否已完成?

jquery

34
推荐指数
3
解决办法
1万
查看次数

javascript:如何写$(document).ready像没有jquery的事件

在jquery $(document).ready(function)或$(function)中,如果没有jquery,我怎么能做同样的事情,我需要浏览器兼容,并且允许附加多个函数.

注意:dom ready!= window onload

javascript domready

32
推荐指数
2
解决办法
2万
查看次数

如何在不使用jQuery(替代方式)的情况下知道页面何时准备就绪?

可能重复:
$(document).ready等效没有jQuery

如果您在页面中调用了jQuery.你可以简单地做到:

$(document).ready(function() { /** code inside **/});
Run Code Online (Sandbox Code Playgroud)

但是没有jQuery怎么做类似的事情?

javascript

31
推荐指数
2
解决办法
5万
查看次数

用于"现代HTML5"浏览器的Javascript,如$(document).ready()

这很可能已经是某个地方的问题了,但我无法找到它,因为每次搜索都会出现jQuery问题.

我正在寻找一种经过验证的方法来绑定到准备好的文档,就像jQuery一样$(document).ready().但是,这是一个"仅限现代浏览器"页面,具有非常轻量级的JavaScript,我想避免在这里加载jQuery.

有人会指出我正确的方向吗?

谢谢!

javascript html5 document-ready

23
推荐指数
1
解决办法
1万
查看次数

简单的Javascript工具提示

嗨,我正在尝试在简单的JS中制作工具提示,在悬停时显示.就像stackoverflow中悬停在配置文件名称上的那个一样,显示了一个div.

我尝试使用hover,div并添加onmouseover为用户几秒钟将鼠标移到工具提示内容上.但它并没有按照我的想法运作.

我真的很喜欢纯粹的js而不是使用任何库.有人可以帮我吗?

这就是我在PURE JS中所做的

HTML

<div class = "name" onmouseover="show()" onmouseout="hide()">
    NAME
        <div class = "tooltip">
            PROFILE DETAILS
        </div>
    </div>

    <div class = "name" onmouseover="show()" onmouseout="hide()">
    NAME 2
        <div class = "tooltip" >
            PROFILE DETAILS 2
        </div>
    </div>

    <div class = "name" onmouseover="show()" onmouseout="hide()">
    NAME 3
        <div class = "tooltip" >
            PROFILE DETAILS 3
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

CSS

.name{
        float:left;
        margin:100px;
        border:1px solid black;
    }
    .tooltip{
        position:absolute;
        margin:5px;
        width:200px;
        height:100px;
        border:1px solid black;
        display:none; …
Run Code Online (Sandbox Code Playgroud)

javascript tooltip

19
推荐指数
5
解决办法
7万
查看次数