Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Перезагрузка div (https://javascript.ru/forum/events/83580-perezagruzka-div.html)

ColT 16.01.2022 20:43

Перезагрузка div
 
Всем привет.
В общем перерыл кучу сайтов в интернете и не нашел решения( помогите пожалуйста буду безгранично благодарен.
В общем мне необходимо что бы при нажатии на кнопку, контент в div перезагружался, не вся страница а только внутри этого div.
Ажакс вариант где подгружаем php не подойдет.
Помогите пожалуйста с решением вопроса.

рони 16.01.2022 20:46

Цитата:

Сообщение от ColT
Ажакс вариант где подгружаем php не подойдет.

новые данные из воздуха берём?

ColT 16.01.2022 21:10

Цитата:

Сообщение от рони (Сообщение 543052)
новые данные из воздуха берём?

вы имеете ввиду что будет в диве?
там будут два плеера, которые при переключении надо перезагрузить, для теста можно туда подставить
<script>
var a=Math.round(Math.random()*4)
// это число должно совпадать с максимальным индексом таблицы ссылок

txt = new Array();
txt[0]="Текст 01"
txt[1]="Текст 02"
txt[2]="Текст 03"
txt[3]="Текст 04"
txt[4]="Текст 05"
document.write (""+txt[a]+"");
</script>

рони 16.01.2022 21:13

ColT,
подожду переводчика ...

ColT 16.01.2022 21:41

Цитата:

Сообщение от рони (Сообщение 543054)
ColT,
подожду переводчика ...

Я не знаю как вам объяснить.
К примеру есть кнопка

<a htef="">Обновить</a>

есть див
<div id="update">
<script>
var a=Math.round(Math.random()*4)
// это число должно совпадать с максимальным индексом таблицы ссылок

txt = new Array();
txt[0]="Текст 01"
txt[1]="Текст 02"
txt[2]="Текст 03"
txt[3]="Текст 04"
txt[4]="Текст 05"
document.write (""+txt[a]+"");
</script>
</div>

мне нужно что бы при нажатии на кнопку, этот див обновлялся и менялся текст, но без перезагрузки всей страницы.
Только без load php или как правильно.

ColT 16.01.2022 22:37

Цитата:

Сообщение от рони (Сообщение 543054)
ColT,
подожду переводчика ...

извините если не понятно объяснил.

voraa 16.01.2022 23:07

<body>
<button id="but">Обновить</button>
<div id="div"></div>
<script>
const txt = [
	"Текст 01",
	"Текст 02",
	"Текст 03",
	"Текст 04",
	"Текст 05",
];

function update() {
	document.getElementById('div').textContent = txt[Math.random()*txt.length | 0]
}

document.getElementById('but').addEventListener('click', update)

update();

</script>
</body>

ColT 16.01.2022 23:09

спасибо огромное, но место
<script>
var a=Math.round(Math.random()*4)
// это число должно совпадать с максимальным индексом таблицы ссылок

txt = new Array();
txt[0]="Текст 01"
txt[1]="Текст 02"
txt[2]="Текст 03"
txt[3]="Текст 04"
txt[4]="Текст 05"
document.write (""+txt[a]+"");
</script>

может быть любой код. Это я сделал как для примера. Извините.

voraa 16.01.2022 23:16

Какая разница, какой код?
Выносите его в отдельный скрипт, вызываете при нажатии кнопки, он вырабатывает некий результат, и помещает его в див.
Если результат - это строка с html текстом, то запихиваете его в див через innerHTML.

voraa 16.01.2022 23:19

Цитата:

Сообщение от ColT
там будут два плеера, которые при переключении надо перезагрузить,

Конкретнее давайте пример, если вам непонятно, как делать.

ColT 16.01.2022 23:43

Цитата:

Сообщение от рони (Сообщение 543054)
ColT,
подожду переводчика ...

Цитата:

Сообщение от voraa (Сообщение 543061)
Конкретнее давайте пример, если вам непонятно, как делать.

<div id="content-1">
       <div class="t1" style="display: block;">    		
			[xfgiven_pleer][xfvalue_pleer][/xfgiven_pleer]
        </div> 
    </div>
    <div id="content-2">
        <div class="t2">
       		[xfgiven_pleer2][xfvalue_pleer2][/xfgiven_pleer2]
        </div>
    </div>


вот этот код надо обновлять будет

voraa 16.01.2022 23:51

Цитата:

Сообщение от ColT
[xfgiven_pleer][xfvalue_pleer][/xfgiven_pleer]

Теперь и мне переводчик нужен.

ЗЫ Правильно заданный вопрос - половина ответа.(с)

ColT 17.01.2022 00:51

Цитата:

Сообщение от voraa (Сообщение 543064)
Теперь и мне переводчик нужен.

ЗЫ Правильно заданный вопрос - половина ответа.(с)


<div id="content-1">
       <div class="t1" style="display: block;">    		
		<iframe allowfullscreen="" src="https://hdturkru.com/playlist/141" width="100%" height="430" frameborder="0" scrolling="no"></iframe>
        </div> 
    </div>
    <div id="content-2">
        <div class="t2">
       		<iframe allowfullscreen="" src="https://hdturkru.com/playlist/141" width="100%" height="430" frameborder="0" scrolling="no"></iframe>
        </div>
    </div>

вот так вот будет в итоге. Это как переменная в DLE

MallSerg 17.01.2022 02:45

Цитата:

вот будет в итоге.
Итоге чего???
может Каких то действий пользователя?
или истечение времени по календарю майя?
а может зависит от фазы луны?

Пока куски кода выглядят как огрызки шаблонов из тысячи вариантов фрейморков. Без навыков телепатии узнать или отгадать это невозможно.

Попробую предположить что попытка реализовать SPA на базе VUE
при возникновении неведомого события нужно найти на странице с SPA элементы DOM дерева по их id (id="content-1") и заменить в них ([xfgiven_pleer][xfvalue_pleer][/xfgiven_pleer]) неведомо откуда берущимися данными.

document.all["content-1"].firstChild.innerHTML = "новый текст /r/n";

voraa 17.01.2022 07:09

<body>
<button id="but">Обновить</button>
<div id="content-1">
       <div class="t1" style="display: block;">          
        <iframe allowfullscreen="" width="100%" height="430" frameborder="0" scrolling="no"></iframe>
        </div>
    </div>
    <div id="content-2">
        <div class="t2">
            <iframe allowfullscreen=""  width="100%" height="430" frameborder="0" scrolling="no"></iframe>
        </div>
    </div>

<script>

document.getElementById('but').addEventListener('click', update)

 
function update() {
    /*
       Как то вычисляем нужные  s1 и s2
    */
    document.querySelector('.t1>iframe').src = s1;
    document.querySelector('.t2>iframe').src = s2;
}
 
update();

</script>
</body>

ColT 17.01.2022 15:30

Спасибо всем за помощь.
Спустя 4 дня поисков я нашел в интернете готовое решение и всего лишь то вот оно такое:
<iframe id="FrameID" src="https://example.com/"></iframe>
<button onclick="update_iframe(); return false;">Обновить iframe</button>
 
<script>
function update_iframe(){
	var iframe = document.getElementById('FrameID');
	iframe.src = iframe.src;
}
</script>


Спасибо за вашу помощь но у меня он почему то не работает даже в чистом документе.
Цитата:

Сообщение от voraa (Сообщение 543067)
<body>
<button id="but">Обновить</button>
<div id="content-1">
       <div class="t1" style="display: block;">          
        <iframe allowfullscreen="" width="100%" height="430" frameborder="0" scrolling="no"></iframe>
        </div>
    </div>
    <div id="content-2">
        <div class="t2">
            <iframe allowfullscreen=""  width="100%" height="430" frameborder="0" scrolling="no"></iframe>
        </div>
    </div>

<script>

document.getElementById('but').addEventListener('click', update)

 
function update() {
    /*
       Как то вычисляем нужные  s1 и s2
    */
    document.querySelector('.t1>iframe').src = s1;
    document.querySelector('.t2>iframe').src = s2;
}
 
update();

</script>
</body>


Цитата:

Сообщение от MallSerg (Сообщение 543066)
Итоге чего???
может Каких то действий пользователя?
или истечение времени по календарю майя?
а может зависит от фазы луны?

Пока куски кода выглядят как огрызки шаблонов из тысячи вариантов фрейморков. Без навыков телепатии узнать или отгадать это невозможно.

Попробую предположить что попытка реализовать SPA на базе VUE
при возникновении неведомого события нужно найти на странице с SPA элементы DOM дерева по их id (id="content-1") и заменить в них ([xfgiven_pleer][xfvalue_pleer][/xfgiven_pleer]) неведомо откуда берущимися данными.

document.all["content-1"].firstChild.innerHTML = "новый текст /r/n";

И вам спасибо за помощь, но все же думаю что если вы отвечаете в темах в которых просят помощи те кто не знает и не понимает ничего в этом, не стоит быть таким грубым. Чуть чуть попроще бы.
Ну и вам совет, не делайте из мухи слона. Я объяснил на пальцах и просто а вы чуть ли не адронный коллайдер соорудить пытаетесь.


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