If условие {меняем содержимого дивов}

silmarion

Полезный
Регистрация
21 Июн 2012
Сообщения
194
Реакции
19
Добрый день, возник такой вопрос,
На странице если выполняется условие, необходимо запускать скрипт и менять содержимое выбранных блоков.
Как это реализовать?
 
Запускать сторонний скрипт (php например)?
Если да - то ajax в помощь.

Типа такого:
HTML:
if (a == b) {
    $.ajax ({
        type : 'POST',
       url    : 'url',
       data : ({a : a, b : b}),
       success : function (result) {
           //Делаем что-то с дивами.
       }
    });
}
 
Запускать сторонний скрипт (php например)?
Если да - то ajax в помощь.

Типа такого:
HTML:
if (a == b) {
    $.ajax ({
        type : 'POST',
       url    : 'url',
       data : ({a : a, b : b}),
       success : function (result) {
           //Делаем что-то с дивами.
       }
    });
}
Нет, сторонний скрипт запускать мне не нужно.

В общем дело такое, на сайте есть что-то вроде доски объявлений, которая полностью грузится с другого ресурса (предоставляется)

Идет она только на английском, и очень очень криво, так что менять там толком ничего не могу, вот и хочу для перевода пунктов на русский (если зашли русские пользователи)
на ходу менять текст
чтото вроде такого
Код:
$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($language){
  case "ru":
Здесь мы пускаем JAVA который будет менять в блоках англ фразы на русские предустановленные.
<javascript>
.....
Меняем к примеру блок
<div id="title">Search</div>
На
<div id="title">Поиск</div>
Ну и так далее
</javascript>
  echo "русский язык";
  preg_replace(<div class="search-controls__slider-label ng-scope">Price</div>);
  break;
}

Люди, или кто ссылку дайте на мануал, смена содержимого див при загрузке страницы.

А то гугл выдает все про смену содержимого по клику, а я в скриптах практически не шарю
 
Последнее редактирование:
Если проблема только в "при загрузке страницы" - то:
HTML:
$(document).ready(function() {
    //Если язык, полученный ранее - русский
    if (language == 'ru') {
        //Меняем текст.
        $('#title').empty();
        $('#title').append('Поиск');
    }
});

Это первое пришедшее в голову решение, если посидеть - то красивее сделать можно)
 
Код:
switch ($_GET['lang'])
{  
case "ru": 
?>
<p id="dataKeeper">Это русский детка</p>
<script type="text/javascript">
$(window).load(function() {
document.getElementById('dataKeeper').style.color = 'blue'; //Эта хрень работает нормально
document.body.innerHTML = document.body.innerHTML.replace('Call Us Today', 'Вася'); // Если раскоментировать эту строку, она меняет текст, но остальные скрипты перестают работать, может какой-то no-conflict надо дописать?
});
</script>
<?
   break;
   default:
   break;
} ?>
 
Если проблема только в "при загрузке страницы" - то:
HTML:
$(document).ready(function() {
    //Если язык, полученный ранее - русский
    if (language == 'ru') {
        //Меняем текст.
        $('#title').empty();
        $('#title').append('Поиск');
    }
});

Это первое пришедшее в голову решение, если посидеть - то красивее сделать можно)

А если половина того что заменить нужно без ид, а классами идет?

Вот так к примеру
Код:
<button class="advSearch__list-term ng-binding" ng-click="advanced.active_category = feature">
  Amenities
</button>
[code]
И многие идут в виде списка с одинаковыми классами (((

в общем пока что нашел такое решение, посмотрю как будет себя вести
Код:
<!----------Универсальный скрипт замены----------->
<script type="text/javascript">
h = document.body;
h.innerHTML = h.innerHTML.replace(/Объявление/g, "<center><font style=\"font-family:Monotype Corsiva; font-size:15pt; color:#696969;\">Копилка Мудрости</font></center>");
h.innerHTML = h.innerHTML.replace(/Статистика форума/g, "<center>Статистика форума</center>");
h.innerHTML = h.innerHTML.replace(/Общая статистика/g, "<center>Общая статистика</center>");
</script>
<!----------END Универсальный скрипт замены----------->
 
Последнее редактирование:
Если проблема только в "при загрузке страницы" - то:
HTML:
$(document).ready(function() {
    //Если язык, полученный ранее - русский
    if (language == 'ru') {
        //Меняем текст.
        $('#title').empty();
        $('#title').append('Поиск');
    }
});

Это первое пришедшее в голову решение, если посидеть - то красивее сделать можно)
Блин вроде все получилось с Вариантом что выше писал, а затем снова этот подключаемый скрипт с подгрузкой объявлений обломал всё, на всех страницах меняется все нормально, стоит зайти на этот поиск, текст что надо меняется, а сам скрипт перестает работать

:eek::mad::thenks::thenks::thenks::alko::beer:

Очень прошу помочь с этим, а то взрыв мозга с этим JS мне обеспечен

Вот сама страничка, код пишу в самом конце страницы



Стоит подключить код с конца страницы как сразу весь подгружаемый контент напрочь отказывается работать (кнопки, фильтрация поиска, переходы и т.п.)
Может быть как то можно вывести строку с ошибкой чтобы написало мол тут то и тут то конфликт
или по-другому как то...
 
Последнее редактирование:
Ошибки должно показывать в отладочной панели.
В файрфоксе ctrl+shift+K.

Но, она, почему-то, молчит.
Ну, кроме гугль-карт.


Если честно, то не вижу, почему такое действие проиходит. Разве что, что-то лишнее режет при замене... Но врятли.
 
Ошибки должно показывать в отладочной панели.
В файрфоксе ctrl+shift+K.

Но, она, почему-то, молчит.
Ну, кроме гугль-карт.


Если честно, то не вижу, почему такое действие проиходит. Разве что, что-то лишнее режет при замене... Но врятли.
Такая же фигня(((
Получается, на странице с поиском все это на странице подгружается сюда с другого сайта с помощью
Для просмотра ссылки Войди или Зарегистрируйся

В английской версии сайта скрипт для перевода не подгружается, так что поиск и фильтры работают как обычно.
А вот в русской лажа, для русской версии сайта я скачал себе mydx2.js и сделал поиск и замену слов, так что на

перевод весь грузит из файла, а вот на странице с подробностями, слов для перевода в файле mydx2.js нет, так что и пришлось подключать этот скрипт
Код:
<script type="text/javascript">
xxx = document.body;
setTimeout("endPart()", 3000);
function endPart()
{
xxx.innerHTML = xxx.innerHTML.replace(/Bathrooms \(Full\)<\/th>/, "Ванных<\/th>");
xxx.innerHTML = xxx.innerHTML.replace(/Security<\/th>/, "Безопасность<\/th>");
xxx.innerHTML = xxx.innerHTML.replace(/Governing Bodies<\/th>/, "Руководство<\/th>");
xxx.innerHTML = xxx.innerHTML.replace(/Pet Restrictions<\/th>/, "Запрет на животных<\/th>");
xxx.innerHTML = xxx.innerHTML.replace(/Parking<\/th>/, "Парковка<\/th>");
xxx.innerHTML = xxx.innerHTML.replace(/Maintenance Fee Includes<\/th>/, "Сбор за обслуживание включает<\/th>");
xxx.innerHTML = xxx.innerHTML.replace(/Interior<\/th>/, "Интерьер<\/th>");
и тд.....
}</script>

:thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks::thenks:
 
Последнее редактирование:
Назад
Сверху