Intereting Posts
Как настроить category_description ()? Пользовательское название заголовка правила перезаписи изменяется язык полиланга на домен отключен заменить html-объекты в сообщениях между предварительными тегами Показать все сообщения всех категорий, но исключая категорию на пользовательской странице блога с разбивкой на страницы моей темы Добавить кнопку «Добавить в корзину» в WooCommerce Пользовательские метаполя для специального настраиваемого типа Удалить & nbsp; в сообщении print_media_templates не применяется в плагине медиа-менеджера Объединение нескольких файлов javascript и css Как отключить уведомления электронной почты WordPress? Несколько постоянных ссылок для одного сообщения с несколькими таксономиями Где я могу сохранить код виджета для wordpress? Чрезвычайно медленный сайт WordPress с 6000 сообщениями Когда вы регистрируете боковую панель в WordPress, можно ли выбрать, в каком порядке она появляется в администраторе

JS Plugin не выполняет js правильно. Попытка заставить все внутренние ссылки плавно прокручиваться

все в порядке … Я пытаюсь создать плагин для моего сайта, который добавляет фрагмент js в раздел главы, когда загружается страница переднего конца.

Js предназначен для добавления плавной прокрутки ко всем внутренним ссылкам.

Во-первых, плагин действительно загружает сценарий. Это фрагмент из: https://github.com/alextrob/SmoothAnchors

Все, кто использует скрипт, похоже, считают, что он отлично работает! Но я не могу заставить его работать на меня.

Я ОЧЕНЬ новичок в JS, поэтому я не удивлюсь, если я делаю что-то действительно немое! Но ни одна из ссылок на моем сайте не прокручивается …

Вот мой сайт: http://bigbrownbeaver.net

вот код плагина:

<?php /* Plugin Name: Smooth Scrolling Links Plugin URI: http://bigbrownbeaver.net Description:Adds a js smooth scrolling effect to all links on your site that point to other parts of a page or post Version: 1.0 Author: Aaron Author URI: http://bigbrownbeaver.net/newsletter/ */ /* Copyright 2013 Aaron > BigBrownBeaver.Net This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ //load required script add_action('wp_head', 'smooth_scrolling_links'); function smooth_scrolling_links() { ?> <?php if ( !is_admin() ) { ?> <script type="text/javascript"> (function($) { $.fn.smoothscrolling = function() { function scrollto(destination, hash) { // Change the hash first, then do the scrolling. var scrollmem = $(document).scrollTop(); window.location.hash = hash; $(document).scrollTop(scrollmem); $("html,body").animate({ scrollTop: destination }, 400); } if (typeof $().on == "function") { $(document).on('click', 'a[href^="#"]', function() { var href = $(this).attr("href"); if ($(href).length == 0) { var nameSelector = "[name=" + href.replace("#", "") + "]"; if (href == "#") { scrollto(0, href); } else if ($(nameSelector).length != 0) { scrollto($(nameSelector).offset().top, href); } else { // fine, we'll just follow the original link. gosh. window.location = href; } } else { scrollto($(href).offset().top, href); } return false; }); } else { $('a[href^="#"]').click(function() { var href = $(this).attr("href"); if ($(href).length == 0) { var nameSelector = "[name=" + href.replace("#", "") + "]"; if (href == "#") { scrollto(0, href); } else if ($(nameSelector).length != 0) { scrollto($(nameSelector).offset().top, href); } else { // fine, we'll just follow the original link. gosh. window.location = href; } } else { scrollto($(href).offset().top, href); } return false; }); } }; })(jQuery); $(document).ready(function() { $().smoothscrolling(); }); </script> <?php } } 

Любовь, чтобы услышать от вас, ребята 🙂

Сохраните код JavaScript в отдельный файл в вашем каталоге плагинов. Затем используйте этот код для загрузки файла с помощью функции wp_enqueue_script() .

 function smooth_scrolling_links() { if ( !is_admin() ) { // Don't load if in the admin screen wp_enqueue_script('Smooth-Scolling-Links', plugin_dir_url(__FILE__) .'-YOURFILENAME-.js'); } } 

Очевидно, замените -YOURFILENAME- на имя файла, которое вы создали.

Возможно, вам также потребуется немного изменить свой JavaScript, чтобы соответствовать jQuery noConflict wrappers . Здесь вы можете ознакомиться с документом codex с полным объяснением.

Изменить, чтобы показать оболочку jQuery noConflict

Вам также необходимо изменить –

 $(document).ready(function() { $().smoothscrolling(); }) 

К этому –

 jQuery(document).ready(function(){ jQuery(#smoothscrolling) ... });