Конфликт в 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)
Новые темыОбъявленияСвободное общение
14:32 Раскрутка форума 
13:54 Как поймать партнера на «сливе» бренда? 
10:50 Альтернативы Адсенсу в 2026 - есть живые? 
10:43 Яндекс Нейро и выдача в 2026 - остались ли лазейки для маленьких сайтов? 
10:06 Очередной взлом через плагин. Хакеры получают админку без пароля 
09:59 adsense в 2026: кто реально выводит копейку через киргизию? 
20:40 Мошенники-копирайтеры 
15:33 GhostRocket.pro — Взлетаем в новую эру криптообмена! 
14:36 Продам жирный аккаунт fl.ru 
14:07 Продам аккаунты Gmail USA IP | Gmail MIX IP | Outlook Old 
12:54 Mixmasters - Exchange without AML and KYC 
12:31 Сервис ReCaptcha 2, 30р за 1000 решений. 
12:08 Продвижение YouTube видео в топ поиска | Любой тип контента | Гарантия результата 
12:06 Trustpilot Reviews | Подниму рейтинг вашей компании 
15:49 8 марта: желаю аптайма 99.9% и e-e-a-t без локов 
15:46 молодильные яблоки и живая вода 
13:36 Какой фильм вы любите посмотреть перед сном? 
10:11 О природе путешествий. 
10:09 Огородники 
01:47 Точные прогнозы на футбол 
15:04 Сайты Рунета