Неправильная работа табов

Использовал уроки https://n-wp.ru/5925 с этого сайта чтобы создать комментирование на своем. Все хорошо да только табы непереключаються. Firebug говорит что ошибка в яваскрипте

            $(function(){
                $('dl.tabs dt').click(function(){
                    $(this)
                        .siblings().removeClass('selected').end()
                        .next('dd').andSelf().addClass('selected');
                });
            });
        

Ошибка $ is not a function. Помогите разобраться

sayatmeir
Оцените автора
Добавить комментарий

  1. По этому рецепту сделаны табы в этом блоге — как видите, работают без ошибок.
    У вас библиотека jQuery подключена?
    Приведенный скрипт запускается до загрузки табов или после?

    Ответить
    1. sayatmeir автор

      Да подключен, слайдер на нем работает. Скрипт ставил и в header и в footer

      Ответить
  2. rainylive

    Вопрос в тему.
    У вас нет примера, как настроить comment-template.php так, чтобы при комментировании записи в блоге было два таба на выбор, допустим форма комментариев от ВК и форма комментариев родная от ВП?

    Ответить
    1. Баф

      Вопрос в тему. Подскажите, а подключая комментарии к блогу от VK — мы храним их на серверах вконтакта, и никакой возможности сохранять и управлять ими нет?

      Ответить
      1. rainylive

        Возможность управлять ими конечно же есть, ты сможешь удалять любые из комментариев к твоим постам на твоем блоге, что были написаны через установленную форму VK, но храниться это все будет на серверах только самого VK

        Ответить
        1. Баф

          Ясно. Вобщем мне это не особо подходит :(

          Ответить
          1. rainylive

            Ну, у меня в VK группа своя, мне это весьма удобно будет. А так, это непродуманно достаточно, во всяком случае без отсутствия корректного решения. При использовании формы комментариев от VK я лично не нашел пока решения, как считать количество написанных комментариев по средствам самого ВП, чтобы при просмотре анонсов на главной видеть сколько всего уже было написано, как допустим делается это при родной форме комментариев. Если ставить от VK то только в табах, чтобы были обе формы думаю

            Ответить
            1. Баф

              Спасибо, в целом получается, что комментирование от VK полезная штука. Единственное что меня парит, что я не могу их забекапить, поправить, отменить удаление ну и прочее… :(

              Ответить
        2. Баф
          7. Независимость. Тексты всех комментариев хранятся и обрабатываются на серверах ВКонтакте, однако мы предоставляем API для администраторов сайтов, который позволяет сохранять все комментарии и на собственных серверах. Это не только предоставляет расширенные возможности для анализа комментариев, но и позволяет, в случае возникновения необходимости, отказаться от интеграции с ВКонтакте.

          © http://vkontakte.ru/developers.php?o=-1&p=Comments

          Ух ты, очень интересно. Кто займётся? :) Хочется хранить комментарии у себя в блоге

          Ответить
    2. Вот вам пример:

      <script type="text/javascript">
          $(function(){
              $('dl.tabs dt').click(function(){
                  $(this)
                      .siblings().removeClass('selected').end()
                      .next('dd').andSelf().addClass('selected');
              });
          });
      </script>
      
      <style>
      .tabs { width:400px; overflow:hidden; margin:0; zoom:1; padding:1px ;position:relative; }
      .tabs dt { float:left; line-height:2; height:2em; background:#fff; border:1px solid #ccc; border-bottom:0; padding:0 1em; position:relative; left:35px; margin-right:1px; cursor:pointer; }
      .tabs dt:hover { background-color:#ccc; }
      .tabs dt.selected { border-color:#aaa; background:#fff; z-index:3; cursor:auto; }
      .tabs dd { background:#fff; display:none; float:right; width:100%; margin:2em 0 0 -100%; position:relative; z-index:2; }
      .tabs dd.selected { display:block; }
      .tabs .tab-content { background:#fff; border:1px solid #ccc; padding:20px 20px 10px 20px; }
      </style>
      
      <dl class="tabs">
         <dt class="selected">Таб1 - обычные комментарии</dt>
         <dd class="selected">
          <div class="tab-content">
          	<div id="comments">
          		<ul class="commentlist">
          			<?php fb_wp_list_comments('type=comment&avatar_size=32'); ?>
          		</ul>
          	</div>	
      	</div>
         </dd>                                                               
        <dt>Таб2 - необычные комментарии</dt>
        <dd>
          <div class="tab-content">
          	сюда вставить код вывода нестандартных комментариев (facebook, vkontakte)
      	</div>
        </dd>                          
      </dl>
      Ответить
  3. sayatmeir автор

    попробовал запустить в конструкторе та же проблема.

    Ответить
  4. rainylive

    Сегодня искал себе табы в журнал, нашел такое вот решение

    Добавляем в …

    <script type="text/javascript">
    (function($) {
    $(function() {
    
    	$('ul.tabs').delegate('li:not(.current)', 'click', function() {
    		$(this).addClass('current').siblings().removeClass('current')
    			.parents('div.section').find('div.box').hide().eq($(this).index()).fadeIn(150);
    	})
    
    })
    })(jQuery)
    </script>
    
    <style>
    .section{width:405px;margin:0}
    .tabs li{float:left;display:inline;color:#28b;cursor:pointer;position:relative;margin:0 1px -1px -8px;padding:0 5px 0 30px}
    .tabs li.current{color:#28b;text-decoration:underline}
    ul.tabs{height:28px;line-height:25px;list-style:none;margin-bottom:10px}
    .box{display:none;padding:0}
    .box.visible{display:block}
    </style>
     

    В место где необходимо вставить табы пишем…

    <div class="section">
    <ul class="tabs">
        <li class="current">«Наш журнал»</li>
        <li>«Вконтакте»</li>
        <li>«Facebook»</li>   
      </ul>
    <div class="box visible">
    Таб 1
      </div>  
    <div class="box">
    Таб 2
      </div>  
    <div class="box">
    Таб 3
      </div> 
    </div> 

    Пример 100% рабочий, проверено сегодня лично

    Ответить
    1. rainylive

      У меня javascript сохранен в отдельный файл, если что ;) тут просто неудобно описывать подобные моменты в коде

      Ответить
    2. Это почти первый способ.

      Ответить
      1. rainylive

        Возможно, но он у меня не заработал почему-то, просто поделился

        Ответить
        1. Спасибо! Множество альтернатив — всегда хорошо.

          Ответить
  5. sayatmeir автор

    Разобрался с проблемой. Заменил файл jquery

    Ответить
    1. А ларчик-то просто открывался!

      Ответить
      1. sayatmeir автор

        Нет я попробовал еще первый метод.

        Ответить