2015-08-07 4 views
0

Я пытаюсь заменить слайдеры по умолчанию «1, 2, 3» со словами с использованием JQuery.Сценарий запускается слишком рано

У меня он работает с этим кодом:

//CHANGES SLIDER NUMBERS TO TEXT FOR NAVIGATION 
$(".rslides_tabs .rslides1_s1 a").text("Automotive"); 
$(".rslides_tabs .rslides1_s2 a").text("Residential"); 
$(".rslides_tabs .rslides1_s3 a").text("Sign & Millwork"); 

//WRAPS SLIDER NAV IN CONTAINING DIV FOR CSS PURPOSES 
$("ul.rslides_tabs").wrap("<div class='rslides_wrap'></div>"); 

Моя проблема, половину времени, когда я загрузить страницу он работает и половину времени он не делает. Я чувствую, что его иногда называют слишком или иногда. Я попытался обернуть его как в Window.Onload, так и в Document.Ready (и оба из них вместе), но он по-прежнему случайно не работает при загрузке страницы. Я также пробовал код над тегом < head> и прямо перед тегом </body>, но это не имеет значения.

Любые предложения по тому, что я могу сделать, чтобы он работал в 100% случаев?

http://tcgi.com.lindsayviscount.com/

+0

Показать пример когда вы пытаетесь подготовить документ, просто чтобы убедиться, что вы делаете это правильно, поскольку это должно работать. –

+0

Это отвратительно для нас, чтобы просмотреть всю вашу веб-страницу. Вы должны просто разбить его на соответствующий HTML. Кроме того, похоже, это код скрипта '$ (window) .load (function() {$ (document) .ready (function() {// код OP});});' –

+0

JoeEnos $ (document). ready (function() {}); это то, что я обволакивал. И это не работает вообще. Кажется, работает только Window.load. @CyberneticTwerkGuruOrc. Трудно сломать сайт WordPress, который использует плагин для слайдера, иначе я бы сделал jsfiddle –

ответ

0

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

  • JS строит начальный 1,2,3
  • Автомобильные, жилой, и распишитесь & Millwork имеет специальный .ready(){} блок
  • Вы используете JQuery 1.11.2 и 1.10.2 не разрешающий конфликт
  • Вы разместили metaslider в setTimeout() блок

Некоторые предложения для кода очистки:

  • Определенно удалить $(window).load(function() {
  • Придерживайтесь одной версии JQuery

TL; DR;

Вероятная причина вашей проблемы является тем фактом, что setTimeout() создает отдельный поток так 1,2,3 не доступен для целевых когда код для автомобильных, жилищного, и распишитесь & Millwork был назван.

+0

Метаслайдер - это плагин, поэтому я не могу контролировать, что это такое.Я использую firefox 1. Я изменил мою версию JQuery, я загружался в 1.11.2, чтобы попытаться сопоставить другой. 2. Я удалил функцию window.load, но затем он полностью перестает работать. document.ready сам по себе тоже не работает. –

+0

@KerynGill Вы проверили документацию плагина, чтобы убедиться, что он позволит вам установить значения вкладок при инициализации? 'SetTimeout()' инициализирует слайдер после 100 миллисекунд. Игнорируя все, что я сказал, помимо 'setTimeout()', теоретически вы могли бы компенсировать код для Automotive, Residential и Sign & Millwork на 150-200 мс, а затем он * должен * надежно работать. Тем не менее, это будет довольно грубое исправление для группы. – MonkeyZeus

+0

тайм-аут действительно работает, но вы правы, это довольно грубо. Может быть, я буду искать попытку вставить слова в CSS вместо этого. Я просто подумал, что Jquery будет проще. Однако добавление «1» задержки, похоже, заставляет его работать все время, и вы едва можете заметить мерцание. –

0

вы можете поместить код в функцию и редактировать HTML для этого:

<body onload="yourFunction()"> 

жаль, если это не то, что вы хотите, Потому я не тихо понимаю, что вы сказали

Смежные вопросы