好吧,这可能只是一个愚蠢的问题,但我确信还有很多其他人不时会问同样的问题.我,我只是想以任何方式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)
...或者我甚至可以在所有内容之后尝试在页面底部,但结尾body或html标记如:
<script type="text/javascript">
myFunction();
</script>
Run Code Online (Sandbox Code Playgroud)
什么是以jQuery方式发布一个或多个函数的跨浏览器(旧/新)兼容方法$.ready()?
JavaScript window.onload和jQuery的$(document).ready()方法有什么区别?
什么是非jQuery相当于$(document).ready()?
我正在创建一个简单快速的网站,我正在尝试尽可能地优化网站.我注意到社交媒体按钮正在减慢网站的速度.我包括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
我知道你可以使用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 /其他库.
在jquery $(document).ready(function)或$(function)中,如果没有jquery,我怎么能做同样的事情,我需要浏览器兼容,并且允许附加多个函数.
如果您在页面中调用了jQuery.你可以简单地做到:
$(document).ready(function() { /** code inside **/});
Run Code Online (Sandbox Code Playgroud)
但是没有jQuery怎么做类似的事情?
这很可能已经是某个地方的问题了,但我无法找到它,因为每次搜索都会出现jQuery问题.
我正在寻找一种经过验证的方法来绑定到准备好的文档,就像jQuery一样$(document).ready().但是,这是一个"仅限现代浏览器"页面,具有非常轻量级的JavaScript,我想避免在这里加载jQuery.
有人会指出我正确的方向吗?
谢谢!
嗨,我正在尝试在简单的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)