Почему мой пользовательский код Javascript работает на одной странице моего сайта Wordpress, но не на других? - PullRequest
0 голосов
/ 26 февраля 2011

Текущая настройка

Я использую Wordpress для создания сайта художника по куклам и для каждой куклы я создал собственный шаблон .php.Например, для куклы Шер я создал cher.php.Затем в wp admin я создал страницу с именем cher и в Атрибуты страницы> Шаблон Я выбрал cher в качестве шаблона.Поэтому, когда я захожу на страницу http://mitemiu.com/cher, загружается cher шаблон куклы cher.php.Эта страница работает нормально.

cher.php сначала вызывает header.php с помощью функции get_header();.В функции header.php я связываюсь с jquery-1.5.min.js, jquery.galleriffic.js и mitemiu.js.

Gallerific 2.0 - это подключаемый модуль галереи на основе jQuery, а mitemiu.js - мой пользовательский файл Javascript, который содержит:

  1. Gallerific пользовательские настройки (скорость перехода изображения, загружаемые компоненты пользовательского интерфейса и т. д.)
  2. Пользовательская функция с именем toggleSlider() для отображения / скрытия меню выбора куклы
  3. Оператор для запуска toggleSlider() приэлемент a, содержащий заголовок doll, щелкается

Соответствующие файлы (jquery-1.5.min.js, jquery.galleriffic.js остаются чистыми и не тронутыми мной)


Проблема

При переходе на http://mitemiu.com/cher страница загружается и работает нормально.Когда вы нажимаете на ссылку dolls в верхней панели навигации, #doll-menu DIV скользит вниз / исчезает с помощью функции toggleSlider().Нажмите его еще раз, и #doll-menu DIV исчезнет / сдвинется вверх.

Все хорошо, но, когда вы говорите любую другую страницу на сайте (блог, заказ, о, контакт) , а затем попробуйте нажать на ссылку doll , БУМ!Не работает

Почему ссылка на куклу работает только на всех страницах куклы, а не на других страницах?
Происходит ли какой-то конфликт JS?

Ответы [ 2 ]

0 голосов
/ 02 марта 2011

он не работает на других страницах, потому что в вашей mitemiu.js первая функция предполагает существование div id thumbs, которого нет за пределами страницы кукол:

jQuery(document).ready(function($) {
    var gallery = $('#thumbs').galleriffic({ ...

Не удается найти div с идентификатором "thumbs", а остальная часть JS не загружается. Если вы удалите эту верхнюю функцию с других страниц, она будет работать нормально: http://jsfiddle.net/FdqxS/

Или, если вы не хотите разделять JS-файлы, проверьте div, используя:

if($('#thumbs').length > 0
0 голосов
/ 26 февраля 2011

Атрибут href всех остальных ссылок правильный. Однако атрибут href attrubte страницы куклы - «#», который просто перенаправляет на верх страницы.

Так что на всех страницах куклы, это кажется правильным, потому что это идет к вершине страницы куклы. Но на всех других страницах это просто идет к вершине самого себя. На других страницах просто исправьте атрибут href ссылки куклы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...