Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проблемы с jQ (https://javascript.ru/forum/jquery/65005-problemy-s-jq.html)

KirtuZ 19.09.2016 22:32

Проблемы с jQ
 
Здравствуйте.
Небольшая предыстория:
Решил сделать так, чтоб, на сайте, при клике на фото оно увеличивалось в том же окне.
Здесь http://jquerytools.github.io/demos/overlay/index.html нашел как это сделать.

Добавил в css файл соответствующий код. В хэдэре подключил библиотеку jQueryTools. Сама jQuery уже была подключена ранее.

В футер добавил скрипт

<script>
    $("img[rel]").overlay();
</script>


На главной странице получился такой код

<div id="triggers">
<img src="<?php echo Product::getImage($product['id']); ?>" 
<?php echo Product::getRel($product['id']); ?> alt=""/>
</div>
<div class="simple_overlay" <?php echo Product::getMies($product['id']); ?>>
<a class="close"></a>
<!-- large image -->
<img src="<?php echo Product::getImage($product['id']); ?>" alt="" />
</div>

Методы getRel и getMies возвращают rel="#mies" и id="mies" соответственно, с id продукта на конце.

И всё работает! Никаких нареканий.

Решаю осуществить тоже самое на странице товара.
Хэдер и футер отдельными файлами и подключены ко всем страницам сайта, так что в них не лезу. Как и в css.

Получается такой код

<div id="triggers">
<img id="largeImg" src="<?php echo Product::getImage($product['id']); ?>"
<?php echo Product::getRel($product['id']); ?> alt="Фото 1" />
</div>
<div class="simple_overlay" <?php echo Product::getMies($product['id']); ?>>
<img src="<?php echo Product::getImage($product['id']); ?>" alt="" />
</div>

Но он не работает! И я не могу найти проблему.
Пробовал убирать id="largeImg" и делать код абсолютно идентичным, не помогает.
Все php скрипты работают исправно.
Пощупать странички можно тут
http://test.lilisava.ru/ - главная.
http://test.lilisava.ru/product/59 - страничка товара.

Andronid 21.09.2016 06:19

Цитата:

В хэдэре подключил библиотеку jQueryTools. Сама jQuery уже была подключена ранее.
У вас jquery подключается в самом низу, после секции footer
И даже там где вроде как работает - браузер если посмотрите выдает ошибку. (работает потому что вызываете 2 раза - я вижу на 1243 строке и на 1286 - тут уже будет ошибка.)
Подключайте скрипт ниже, убирайте вызов который на 1243 строке и заработает

KirtuZ 22.09.2016 02:03

Спасибо за ответ. Сегодня утром тоже обнаружил что два раза функция прописана. Но вот какое дело, на главной она как раз таки работала. И если я убираю вызов с 1243 то работать перестает. То есть работает только если прописана в том же файле, а из внешнего работать отказывается. Почему так может быть?

Andronid 22.09.2016 05:08

Посмотрите чем отличались ваши вызовы на главной. Посмотрите на очередность подключения скриптов на странице. Прочитайте что делает ready()


Часовой пояс GMT +3, время: 02:42.