Конфликт в Jquery движок DLE 9.7 нужна помощь
Страницы: 1
[ Закрыто ] Конфликт в Jquery движок DLE 9.7 нужна помощь
Добрый день, уважаемые форумчане. Прошу помощи.
Ситуация такова:
Через доп поле в выводе краткой новости выводится код:

Код
[xfgiven_region]<div id="DLE" title="Зона охвата [xfvalue_namebank]" style="display:none;">[xfvalue_region]</div><div class="quoteregion">
<a onclick="ShowMyModal(); return false;"><span>Регионы</span> <span>(Кликабельно)</span></a></div>[/xfgiven_region]
в /engine/classes/js/dle_js.js в самом конце сам скрипт:

Код
function ShowMyModal() {
    $(function(){
         $('#DLE').dialog({
            autoOpen: true,
            show: 'fade',
            hide: 'fade',
            width: '600',
            height: 'auto',
            buttons: {"Закрыть окно":function(){$(this).dialog("close");}}});});
} 
Так вот, проблема в чём - если на странице выводится 1 такой скрипт - всё нормально, если больше то они начинают толи конфликтовать, то ли ещё что-то. Скорее всего из за того-что  id="DLE" у них одинаковый.
Ещё были догадки что это всё из-за кэширования jquery, первые запросы нормальные, потом когда повторно нажимаешь - выводит информацию не той краткой новости...
Что пробовал?
1) В доп. поле вставлял 


Код
[xfgiven_region]<div id="DLE" title="Зона охвата [xfvalue_namebank]" style="display:none;">[xfvalue_region]</div><div class="quoteregion">
<a onclick="ShowMyModal(); return false;"  ajaxURL += "&noCache=" + (new Date().getTime()) + Math.random();><span>Регионы</span> 
<span>(Кликабельно)</span></a></div>[/xfgiven_region]


2) в  /engine/classes/js/dle_js.js изменял 

Код
function ShowMyModal() {
   $.ajaxSetup({cache: false}); 
    $(function(){
         $('#DLE').dialog({
            autoOpen: true,
            show: 'fade',
            hide: 'fade',
            width: '600',
            height: 'auto',
            buttons: {"Закрыть окно":function(){$(this).dialog("close");}}});});
}

Код
$.ajaxSetup({cache: false}); 
function ShowMyModal() {
    $(function(){
         $('#DLE').dialog({
            autoOpen: true,
            show: 'fade',
            hide: 'fade',
            width: '600',
            height: 'auto',
            buttons: {"Закрыть окно":function(){$(this).dialog("close");}}});});
} 

Код
function ShowMyModal() {
    $(function(){
         $('#DLE').dialog({
            autoOpen: true,
            show: 'fade',
            cache: false,
            hide: 'fade',
            width: '600',
            height: 'auto',
            buttons: {"Закрыть окно":function(){$(this).dialog("close");}}});});
}
Всё без результата, кто знает в чём проблема и как устранить?
Изменено: ov3rdoc - 17 Февраля 2013 14:01
Всегда можно использовать ID для уникализации элемента или писать this, что бы не перемешивать все в кашу.
Вообще запускать функцию в функции нет смысла, в онклик можете сделать так onclick="ShowMyModal('уникальный номер, например 5');



[TABLE]

[TR][TD]
[xfgiven_region]<div id="DLE" class="dle5" title="Зона охвата [xfvalue_namebank]" style="display:none;">[xfvalue_region]</div><div class="quoteregion">
<a onclick="ShowMyModal(); return false;"><span>Регионы</span> <span>(Кликабельно)</span></a></div>[/xfgiven_region]
[/TD][/TR]

[/TABLE]

class="dle5" - там где 5 ставите свой уник номер и в онклик этот номер, теперь функция будет выполнятся тольк к одному классу (для каждого элемента нужен свой номер), если там цикл, то просто i++ будет достаточно

[TABLE]

[TR][TD]
function ShowMyModal(id) {
$('.dle'+id).dialog({
autoOpen: true,
show: 'fade',
cache: false,
hide: 'fade',
width: '600',
height: 'auto',
buttons: {"Закрыть окно":function(){$(this).dialog("close");}}});
}
[/TD][/TR]

[/TABLE]



вроде все верно
Олег Гречина, спасибо, сейчас попробую ваш вариант. Кстати, а зачем всё это в таблицу завёртывать?
Цитата
ov3rdoc пишет:
Олег Гречина, спасибо, сейчас попробую ваш вариант. Кстати, а зачем всё это в таблицу завёртывать?
Та это супр так теги искаверкал, я из вашего поста копировал код, вот оно так и скопировало...п.с. я код не тестил, просто идею реализации передал, хотя и так должно работать)
Олег Гречина, я вам отпишу о результатах, в качестве переменной возьму тег {news-id} что-бы бесполезные доп.поля с цифрами не создавать
Олег Гречина, Огромное вам спасибо! Всё получилось, тему попрошу закрыть:mail:
Цитата
ov3rdoc пишет:
Олег Гречина, Огромное вам спасибо! Всё получилось, тему попрошу закрыть:mail:

ov3rdoc, спасибо, что отписались в теме.
Тему закрыл и перенёс в раздел "Х".
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
11:07 01.02. Апдейт 31.01 // Chrome готовит "чёрную метку" для ИИ? 
06:34 Гугл пухнет от кеша, а нам - крошки. Разбор $114 млрд: Адсенс в минусе, Ютуб на подписках 
01:09 Yahoo Scout: Нейро-привет из склепа. Реальный шанс на траф или мимо? 
17:33 AntiBot Cloud - бесплатный скрипт и сервис защиты сайтов 
15:14 Апдейт Яндекса 7 февраля. Пока серп трясет, некоторые по ботам плачут 
15:10 Google Discover Core Update: Дискавер отделяют от поиска? 
11:30 ЕС душит ТикТок: прощай бесконечная лента и RPM? Что с монетизацией? 
04:09 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
02:31 Профессиональный и грамотный дизайн от DesignCash 
18:27 Nexulume.com Обменник без AML и KYC 
15:45 Mixmasters - Exchange without AML and KYC 
10:22 Swapwatch.org — Мониторинг криптовалютных обменников 
10:19 SwapPix.io - быстрый и безопасный обменник криптовалют. 
15:12 CryptoGraph — Анонимный обмен криптовалют без KYC и AML 
02:08 K*R*A*K*EN // ссылка на февраль 2026 
00:28 Кулеры и БП станут золотыми? Медь по 13 штук, олово в космосе 
23:44 Точные прогнозы на футбол 
18:34 Ставки на супер тренды в спорте 
15:30 Гильотина для классиков: Клод доедает физические книги 
11:10 Moltbook: Соцсеть для ботов, где людям закрыли рот. Началось? 
22:31 [AI] Бот за $600к советовал есть сыр с крысами. Нью-Йорк его (наконец-то) снес