При первом открытии большой картинки ничего не удаляю, начинаю удалять, при втором открытии большой картинки, и выдает на строке с удалением ошибку:
NotFoundError: Node was not found @ /js/start.js:130
Задача:
есть набор превью картинок, при нажатии на картинку появляется в окно с полным размером. И под фотографией нужно поставить сервис "поделиться".
Пытаюсь поставить сервис addthis, и он отображается только при первом клике на любую картинку, в дальнейшем, сервис отображается в нерабочем виде.
Когда таким же методом подключаю аналогичный сервис (yashare), то все прекрасно работает (но yashare не устраивает). Может есть иной способ достижения цели? При открытии окна добавляю див и тег скрипт, а при закрытии очищаю див и убираю тег скрипт.
Чтобы сервис addthis запоминал для каждой большой картинки статистику, меняю урл в браузере при появлении окошка с большой картинкой.
masterlelik, во первых, в Oпере 12- есть Dragonfly, для начала загляните туда.
Во-вторых, зачем делать window.onload = function() если используется jQuery? Используйте .on()
Ни с одной из этих функций проблем не встречалось.
Начну с во-вторых.
Изначально и использовал $(document).ready(function(){...}) пока не столкнулся с не срабатыванием.
В Dragonfly показывает ошибку:
Unhandled Error: Cannot convert 'jQuery' to object
использую вначале документа (после подключения jQuery)
var jQuery = jQuery.noConflict();
чтобы не было конфликтов с другими возможными скриптами.
Поэтому вижу два выхода: либо обращаться стандартно $("#div").fadeTo вместо
jQuery("#div").fadeTo или как сказал ниже DeepVarvar взять более старую версию jQuery, что также помогло.
При многократном обновлении страницы alert то срабатывает, то нет. Т.е. не срабатывает строка с ajaxSetup.
Но вопрос не конкретно в этой функции. Аналогичная проблема с периодическим несрабатыванием и с другими функциями, например, с: $("#div").fadeTo или $("#div").show(100). Такая бага только в опере. Как ее пофиксить?
Сразу надо сказать, что на локальном компьютере работает, а ошибка возникает на хостинге.
При попытке открыть файл fopen($path, "rb"); выдает
Warning: fopen(/home/sdsds/public/siteru/download/clients/3/tenders/2/1025148008.doc) [function.fopen]: failed to open stream: No such file or directory in /home/sdsds/public_html/siteru/i ncludes/getfile.php on line 11
Если обратиться по прямому адресу http://site.ru/download/clients/3/tenders/2/1025148008.doc, то файл открывается.
Права на все вложенные папки начиная с папки download (т.е. с корня) поставил вручную 777.
сразу скажу 2-й запрос находит какие-то "левые" данные. Если в результатах первого выбрано 17 позиций и все они отвечают фильтрам, то второй выгреб аж 707 позиций!!! И кликнув несколько наугад, вижу, что они не отвечают критериям поиска.
1-й запрос
select filter_id, count(distinct filter_id) as cnt from t_filters_variables where ((filter_id=4 and filter_value=8 or filter_id=4 and filter_value=99) or (filter_id=9 and filter_value=10 or filter_id=9 and filter_value=100 or filter_id=9 and filter_value=101)) group by filter_id having cnt>1 limit 0, 15
2-й запрос
select filter_id from t_filters_variables where ((t5.filter_id='4' and t5.filter_value in (8,99)) or (t5.filter_id='9' and t5.filter_value in (10,100,101))) limit 0, 15
И все-таки вариант с хэвинг оказывается лучше.
При количестве записей 30000 этот запрос выполняется 2 секунды (да, не очень здорово)
А вот более простой вариант
SELECT DISTINCT `user_id`, COUNT(*) cnt FROM `t_child` WHERE (`cat_id`='2' AND `value` IN ('1','2')) OR (`cat_id`='1' AND `value`='4') GROUP BY user_id
Запрос подвешивается и в пхпмайдмине оно думает и думает. Минут 5 думало, устал ждать, закрыл. Проверил несколько раз - тупо виснет и все.
[quote=LIME][/quote]
Проверил, все работает правильно (проверил разные вариации), если есть совпадение по подкатегориям, то находит, если хотя бы один параметр из условия отсутствует, то не находит)
Допустим мне надо выбрать 5 лет и умеющего петь, рисовать и читать.
И если не будет выбран нужный возраст, то ничего не найдет.
(Добавление)
2LIME:
SELECT DISTINCT `user_id`, COUNT(*) cnt
FROM `t_child` WHERE
(`cat_id`='2' AND `value` IN ('1','2')) OR (`cat_id`='1' AND `value`='4')
GROUP BY user_id
Да, это более простое решение, как-то странно, что я уперся в этот хэвинг
Спасибо.
Нет, не опечатка "Вид работ" и "Возраст детей" это значения в другой таблице:
insert into t_types (cat_id, category) values (1, 'Вид работ'), (2, 'Возраст детей'),
(Добавление)
В общем я правильно двигался и решил вопрос.
Сначала не работающий запрос у меня выглядел:
select distinct `user_id`, count(`cat_id`) as cnt from `t_child` where (((`cat_id`='2' and `value`='1') or (`cat_id`='2' and `value`='2')) or ((`cat_id`='1' and `value`='4')) ) group by `t1`.`id` having cnt > 1
Но, если мне надо было найти детей 5 лет, которые умеют и петь, и рисовать.
То он также находил и 10летних детей, потому что было два true в видах работ
И понял, что не хватает distinct в count-е и поставив count(distinct `cat_id`) стало нормально и очень шустро находить.
P.S. если кто-то предложит более красивое решение, буду рад обсудить.