gpt4 book ai didi

javascript - jQuery:仅在悬停时加载内容

转载 作者:行者123 更新时间:2023-11-29 15:35:48 26 4
gpt4 key购买 nike

我想减少页面加载时间。社交图标(Facebook Like、Twitter follow 等)占用了很多速度。

我想显示点赞按钮的静态图像,并在鼠标悬停时显示实际按钮。

我可以通过在我 show() 隐藏的 div 中加载真正的按钮来轻松做到这一点悬停,但这意味着无论如何都会加载内容。

有没有办法在悬停时加载按钮?

编辑:

例如,当用户将鼠标悬停在图像上时,它会加载 Facebook like button :

顶部 <body> :

<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_US/sdk.js#xfbml=1&version=v2.3";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

显示按钮:

<div class="fb-like" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button" data-action="like" data-show-faces="true" data-share="true"></div>

最佳答案

在按钮应放置的位置放置图像,添加悬停事件,并在该悬停事件中:隐藏图像,并运行为社交媒体按钮提供的任何代码。按钮 html 元素本身不加载任何代码

更新了这个例子,把它放在一个文件中并在你的服务器上测试(注意!jsfiddle 不显示 like 按钮,它在控制台中给出安全错误,所以在你自己的服务器上运行它)

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(function () {
//hover event for button
$("#fb-img").hover(function () {

//remove picture
$(this).remove()

//run social code
(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_US/sdk.js#xfbml=1&appId=171501779696780&version=v2.3";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
})
});
</script>

<div id="fb-root"></div>
<img id="fb-img" src="https://www.seoclerk.com/pics/want9745-10lgy11385380512.jpg" style="width:200px;height:auto">
<div class="fb-like" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button" data-action="like" data-show-faces="true" data-share="true"></div>

下面是 Twitter 按钮的一个工作示例:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(function () {
//hover event for button
$("#tw-img").hover(function () {

//remove picture
$(this).remove()

//run social code
!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>

<img id="tw-img" src="http://www.southernfriedscience.com/wp-content/uploads/2011/12/logo_twitter_withbird_1000_allblue.png" style="width:200px;height:auto">
<a href="https://twitter.com/share" class="twitter-share-button"></a>

关于javascript - jQuery:仅在悬停时加载内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29333801/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com