Я пытаюсь интегрировать кнопку facebook, которая появится после того, как я навещу div, поэтому все работает отлично, но кнопка не будет отображаться
хорошо, мой английский не так хорошо, поэтому я немного запутался, потому что я читал, что мне нужно разобрать этот элемент, но как идти?
JQuery
<script type="text/javascript">
$(function(){
$("#f_button").hide();
});
</script>
<script type="text/javascript">
$(document).ready(function() {
$("#f_box").mouseover(function() {
$('#f_button').css('display','block');
$("#f_wing").hide();
});
$("#f_box").mouseout(function() {
$('#f_button').css('display','none');
$("#f_wing").show();
});
});
</script>
HTML
<div id="f_box">
<div id="f_wing">
text
</div>
<div id="f_button">
<div class="fb-like" data-href="https://www.facebook.com/pages/xx" data-layout="box_count" data-action="like" data-show-faces="false" data-share="false"></div>
text
</div>
</div>
CSS
#f_box
{
height: 70px;
width: 70px;
background-color: blue;
margin-top: 250px;
position: fixed;
}
#f_wing
{
float: left;
width: 50px;
height: 50px;
background-color: white;
}
#f_button
{
width: 150px;
height: 150px;
display: none;
margin-bottom: 0px;
background-color: red;
}
теперь вот как это выглядит сейчас
//поэтому идея с ajax/jquery заключается в том, что мне нужно перезагрузить кнопку на jquery??
Ваш вопрос не так ясен, но я постараюсь ответить (потому что я не могу комментировать, <46 rep).
python -m SimpleHTTPServer
<div id="fb-root"></div>
и <script>(function(d, s, id) {...
соответственно должны выполняться теги <script>(function(d, s, id) {...
).)Заметка:
jQuery .show()
эквивалентен .css("display", "block")
только для того, чтобы он возвращался в исходное состояние отображения (т.е. "встроенный блок", "блок" или "встроенный") вместо "block".
Я попробовал iframe, но удаленный параметр URL & appId = xxxxxxxxxxxxxxx по-прежнему работает... странно.
Случилось со мной некоторое время назад... делайте 2 вещи, и это работает 99% раз:
убедитесь, что вы используете свой сайт с какого-либо сервера, может быть localhost
а не напрямую браузером
убедитесь, что нет плагинов, блокирующих видимость кнопки fb (некоторые плагины блокировки всплывающих окон делают это)
редактировать
Вы установили display:none
на #f_button
, поэтому даже при наведении на экран тип отображения установлен на f_button
и, следовательно, он не появляется.... измените тип отображения #f_button
на мыши, например:
$('#f_button').css('display','block');
вместо
$("#f_button").show();
это должно сделать !!
Второе редактирование
после вызова jQuery lib, используйте следующую команду для запуска hide()
еще до того, как DOM будет готов
$(function(){
$("#f_button").hide();
});
Таким образом, используя метод ниже, вы можете запускать любой метод столько раз, сколько хотите.
$(function(){
//code to do some action before the DOM is ready
});
("#f_button").hide()
сразу после включения файла jquery и за пределами $(document).ready(function())
... так что DOM не будет ждать, чтобы подготовиться и выполнить строку первым !! :)
Если стиль установлен для display:none
при загрузке страницы, кнопка не будет отображаться. Произошло то же самое со мной два дня назад.
Итак, вам нужно найти способ "спрятать" кнопку при загрузке, и то, что я сделал, было
#f_button.isLoading {
position:fixed;
top:-50px;
left:-50px;
}
И, при загрузке, просто удалите класс, вместо выполнения .show()
Я надеюсь, это поможет вам!