Кнопка Jquery на Facebook не будет отображаться

0

Я пытаюсь интегрировать кнопку 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??

  • 1
    Вы используете какую-нибудь кнопку facebook, созданную на fb-сайте ???
  • 0
    да, я использовал кнопку facebook, сгенерированную fb, и нет, она работает на живом сервере, поэтому я не знал, почему это не сработает - если я уберу дисплей, то он покажет нормально
Показать ещё 1 комментарий
Теги:

3 ответа

0

Ваш вопрос не так ясен, но я постараюсь ответить (потому что я не могу комментировать, <46 rep).

  1. Если вы работаете с файлами://URI, кнопки Facebook не будут работать. Попробуйте что-то вроде python -m SimpleHTTPServer
  2. Если он все еще не работает, возможно, вы что-то забыли:
    1. Убедитесь, что вы правильно настроили теги. ( <div id="fb-root"></div> и <script>(function(d, s, id) {... соответственно должны выполняться теги <script>(function(d, s, id) {...).)
    2. Проверьте наличие ошибок в консоли.
    3. Я уверен, что ваш синтаксис HTML действителен.
  3. Проверьте исправность Нико. Это также может быть связано с тем, что инъекция iframe Facebook не загружается.
  4. Не пытались: Может быть, ваше приложение находится в изолированном режиме или вы блокируете определенные URL-адреса в панели приложений?
  5. Не пытались: Вместо этого попробуйте использовать iframe.
  6. Все еще не работает? Кажется, это работает для меня: codepen

Заметка:

  • jQuery .show() эквивалентен .css("display", "block") только для того, чтобы он возвращался в исходное состояние отображения (т.е. "встроенный блок", "блок" или "встроенный") вместо "block".

  • Я попробовал iframe, но удаленный параметр URL & appId = xxxxxxxxxxxxxxx по-прежнему работает... странно.

0

Случилось со мной некоторое время назад... делайте 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
});
  • 0
    Хорошо, это помогает изменить показ и скрыть отображение CSS, так что еще один шаг - только проблема при загрузке страницы, она покажет первую кнопку - я попытался отредактировать функцию готовности документа, возможно, есть решение, где я могу установить что-то вроде $ (document) .ready (function ("# f_button"). hide - это возможно?
  • 0
    просто и очень глупо, do => ("#f_button").hide() сразу после включения файла jquery и за пределами $(document).ready(function()) ... так что DOM не будет ждать, чтобы подготовиться и выполнить строку первым !! :)
Показать ещё 10 комментариев
0

Если стиль установлен для display:none при загрузке страницы, кнопка не будет отображаться. Произошло то же самое со мной два дня назад.

Итак, вам нужно найти способ "спрятать" кнопку при загрузке, и то, что я сделал, было

#f_button.isLoading {
    position:fixed;
    top:-50px;
    left:-50px;
}

И, при загрузке, просто удалите класс, вместо выполнения .show()

Я надеюсь, это поможет вам!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню