Не работают JS-библотеки

Собственно посредством MooTools хотел по интсрукции реализовать такое меню.
Сделал все по инструкции, но на проекте меню не отображается.
Все по нескольку раз проверил. Кто подскажет, как правильно вставить такое меню в шаблоне Smarty. Буду очень признателен, так как другие скрипты тоже подключить не получается.

П.с.: Я новичок в этом деле)

26 комментариев

avatar
avatar
пробовал я {literal} вставить, не помогло
avatar
а что конкретно не работает? если ты вставляешь js в smarty, трудностей быть не должно никаких
avatar
Обрати внимание сюда посмотри, может какого-то компонента недостает, вот и не работает. Точно помню, что в базовой поставке нет Fx.Slide…
  • skif
  • 0
avatar
Чтобы не быть голословным и вы поняли суть проблемы, попробуйте сами…
добавьте библиотеку Nifty Corners
И попробуйте вставить в код любой из ее модулей
Заработает ли у вас.

Я уже так намучился, ни одна библиотека не работает, хотя все вроде прописываю, пути к библиотекам проверил по несколько раз,literal тоже вставил
avatar
Чтобы не быть голословным и вы поняли суть проблемы, попробуйте сами…
добавьте библиотеку Nifty Corners
И попробуйте вставить в код любой из ее модулей
Заработает ли у вас.

Я уже так намучился, ни одна библиотека не работает, хотя все вроде прописываю, пути к библиотекам проверил по несколько раз,literal тоже вставил
  • Tozz
  • 0
avatar
да всё работает:) просто надо быть внимательнее)
avatar
подскажите, как? если не сложно скиньте сюда весь нужный код и куда его вставлять %/
avatar
Какой код? джаваскрипт вставляется в теги literal вот так:

{literal}
alert("1");
{/literal}
avatar
Хотел подключить круглые уголки для мутулс. Сделал так: в header.tpl вписал
[code]


{literal}

{/literal}
[/code]

И дальше сам бокс уже в #wrapper:
[code]
Nifty Corners Cube™
One call. Two parameters. Three sizes.

[/code]

Но не работает…
avatar
Не пошло что-то с тэгом код. Простите. Ещё разок.

Хотел подключить круглые уголки для мутулс. Сделал так: в header.tpl вписал


<script type="text/javascript" src="{$DIR_STATIC_SKIN}/js/NiftyCube/niftycube.js"></script>

{literal}
<script language="JavaScript" type="text/javascript">	
	window.onload=function(){
	Nifty("div#box","big");
	}
</script>
{/literal}


И дальше сам бокс уже в #wrapper:


<div id="box">
<h1>Nifty Corners Cube™</h1>
<p>One call. Two parameters. Three sizes.</p>
</div>


Но не работает…
avatar
Значит, проблемы с чем-то еще. JS должен выполняться
avatar
нет соображений в чём именно? я на локалке использую EasyPHP
avatar
надо смотреть javascript-ошибки.
avatar
а нету таких ошибок…
avatar
Скажем вот так библиотека загружается (я вставил alert('1'); в начало swfir.js и перезагрузил страницу):

<script type="text/javascript" src="{$DIR_WEB_ROOT}/classes/lib/external/MooTools_1.2/plugs/swfir_b1/swfir.js"></script>


Но вот код

{literal}
<script language="JavaScript" type="text/javascript">
var borders = new swfir();
borders.specify("border-radius", "15");
borders.swap("#box");
</script>
{/literal}

не работает… и я не понимаю почему…
  • yuko
  • 0
avatar
возможно это надо прилепить к window.addEvent('load', fn);
avatar
не подскажите, более подробно, как такое сделать? )
avatar
сделать вот так:

{literal}	
<script language="JavaScript" type="text/javascript">
window.addEvent('domready', function() { 
	здесь необходимый JS код
});
</script>
{/literal}
проблема возможно в том, что твой срипт начинает выполняться еще до загрузки файла скрипта
avatar

{literal}	
<script language="JavaScript" type="text/javascript">
window.addEvent('domready', function() { 
	 document.getElementById("box").style.backgroundColor="FF002A";
});
</script>
{/literal}

<body onload="prettyPrint()">


<div id="box">
AAAAA
</div>


Это код вставленый в header.tpl
Он как вы уже поняли не работает…
avatar
1) кеш не сброшен
2) не все компоненты подключены
3) версия mootools
4) (random(0,1) or|and 2 or|and 3 or|and кривые руки)
avatar
простите за такой простой косяк, но вот ничего не могу с этим поделать.
дело тут не в кеше и не в компонентах, и уже точно не в версии мутулс.
можете попробывать сделать просто тест:

document.getElementById("box").innerHTML='BBBB';

эта замена сработает без проблем, а вот эта нет:

document.getElementById("box").style.background='FFCC80';


Вопрос, от чего же так не справедлив Smarty?
avatar
смотрите не смарти, а исходный код страницы.
avatar
Как бы тебе сказать по-мягче, чтоб ты не обиделся…

Вообще-то некоторые перед значением цвета в шестнадцатиричном виде ставят знак '#'. И у них все работает. Может, стоит немного подучить матчасть?
avatar
спасибо конечно за совет, но ты попробывал поставить #? это что-то изменило? )) если бы можно редактировать коменты, там бы стояло #. не работает .style. почему-то, в любых вариациях.
avatar
вот теперь всё заработало! ня ) %username% какбэ лох )) прошу прощения. делалось всё просто.


<div id="box">
AAAAAAA
</div>

{literal}
<script language="JavaScript" type="text/javascript">
document.getElementById("box").style.background='#FFCC80';
</script>
{/literal}


Хотя я был уверен что так делал уже несколько раз… Ну да ладно, не судите строго.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.