скрыть кнопку плюс после нажатия - PullRequest
4 голосов
/ 06 июня 2011

Я хочу скрыть кнопку +1 в Google после того, как пользователь нажмет на нее с помощью jQuery; это код, который я использую, но кажется, что он не работает должным образом:

JS:

$(function() {
  $("#button").click(function()
  {
    $(".HIDE").hide();
  });

  return false;
});

HTML:

<div class="HIDE">
  <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
  <g:plusone size="small" class="plusone"></g:plusone>
</div>

Ответы [ 4 ]

3 голосов
/ 06 июня 2011

Используйте + 1 тег callback параметр , чтобы активировать функцию скрытия. Вероятно, есть лучший способ выбрать кнопку +1, но это работает для демонстрации.

<g:plusone size="tall" callback="poHide"></g:plusone>
<script src="http://apis.google.com/js/plusone.js"></script>
<script>function poHide(){ $("#___plusone_0").fadeOut(); }</script>

Демо: jsfiddle.net / Gju6T

0 голосов
/ 06 июня 2011

Кнопка отображается в фрейме, к которому у вас нет доступа.Тег <g:plusone> заменяется на JS с iframe, и вы не можете наблюдать за этой кнопкой через jQuery, например, с live () или bind ().Вы должны использовать API кнопки, которую можно найти здесь .Там вы найдете опцию «обратный вызов», которую вы могли бы использовать следующим образом:

<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
      {"parsetags": "explicit"}
</script>
<script type="text/javascript">
// Call the API method after the page loaded
$(document).ready(function() {
   gapi.plusone.render("HIDE",
       {"size": "standard", "count": "true", "callback" : "hideTheButton"});
});
// Method to remove the element
function hideTheButton() {
   $("#HIDE").hide();
}
</script>
<div id="HIDE">
      <g:plusone></g:plusone>
</div>
0 голосов
/ 06 июня 2011

Возможно, вы захотите попробовать эквивалентный синтаксис HTML5:

<div class="g-plusone" data-size="standard" data-count="true"></div>

В целом, на визуализированный HTML будет обращать внимание.

0 голосов
/ 06 июня 2011

Я думаю, что это то, что вам нужно, но поместите его в конец вашей страницы чуть выше </body>

$('g\\:plusone').live('click',function (){
   $(this).remove();
});

Иначе попробуйте это ...

$('iframe').contents().find('#plusone').live('click',function (){
       $(this).remove();
    });

orrr

<script>
function mycall(str){
 console.log(str);
 //$(str).hide();//???
}
</script>
<g:plusone size="small" class="plusone" callback="mycall"></g:plusone>
...