X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Нужна помощь с ротацией баннера
deather
deather
Topic Starter сообщение 3.12.2020, 17:36; Ответить: deather
Сообщение #1


Всем доброго времени суток!

Ребят, помогите с ротатором.

Задача менять 2 баннера с обновлением страницы или переходом на другую, без рандома. Может у кого есть наработки?

Нашел скрипт но он по времени:

<script type="text/javascript">
URLS = new Array
URLS[0] = "/"
URLS[1] = "/"

image_ID = new Array
image_ID[0] = "1.jpg"
image_ID[1] = "2.jpg"

var banner = 1
var last_banner = (URLS.length - 1)
var pause = 8000

function Rotate(image_num) {
if (banner==last_banner) banner = 0
else banner++
document.images[image_num].src = image_ID[banner]
window.setTimeout('Rotate("banners")', pause);
}
</script>

<div align="center">
<a href="javascript:document.location=URLS[banner]">
<img name="banners" src="https://stroystandart.info/im/2_1.jpg">
</a>
</div>

<script type="text/javascript">
Rotate('banners');
</script>


Он работает, но если я ставлю в ссылку blank. то открывается пустое окно.




--------------------
Прекрасный хостинг с бесплатный SSL сертификатом, техподдержка 7/24 + месяц теста бесплатно
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gerga
Gerga
сообщение 5.12.2020, 11:58; Ответить: Gerga
Сообщение #2


deather,
Попробуйте так:
Код
<div align="center">
    <a href="javascript:window.open(URLS[banner],'_blank');">
        <img name="banners" src="https://stroystandart.info/im/2_1.jpg">
    </a>
</div>


Сообщение отредактировал Gerga - 5.12.2020, 11:58
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Artos_mw
Artos_mw
сообщение 5.12.2020, 14:00; Ответить: Artos_mw
Сообщение #3


Цитата(deather @ 3.12.2020, 16:36) *
или переходом на другую, без рандома
Чтобы менять баннер при переходе надо сохранять файл предыдущего показа в сессии или куках
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SEOMR
SEOMR
сообщение 14.3.2021, 11:49; Ответить: SEOMR
Сообщение #4


Artos_mw,
Еще можно в LocalStorage сохранять текущий баннер и менять его при перезагрузке страницы.

Накидал Вам код. Но сразу предупреждаю, я не спец в js. То есть, код скорей всего, может быть ещё оптимальнее написан.

Код
<script>
    let banners = ['1.jpg', '2.jpg'];
    let urls = ['/', '/'];
    let general_banner_url = "https://stroystandart.info/im/2_";
    Rotate();

    function Rotate() {
        let banner_obj = document.querySelector("IMG[name='banners']");
        if (!localStorage.getItem("last_banner")) {  
            banner_obj.setAttribute("src", general_banner_url + banners[0]);
            banner_obj.parentNode.setAttribute("href", urls[0]);
            localStorage.setItem("last_banner", "0");
            return;
        }
        let index = localStorage.getItem("last_banner");
        if (index === '0'){
            index = 1;
        } else {
            index = 0;
        }
        banner_obj.setAttribute("src", general_banner_url + banners[index]);
        banner_obj.parentNode.setAttribute("href", urls[index]);
        localStorage.setItem("last_banner", index);
    }
</script>


В html вставляете следующий код:

Код
<div align="center">
    <a href="">
        <img name="banners" src="">
    </a>
</div>


Код js разместите ниже элемента div c баннером.

Также можно это привязать и кукам или сессии. Тогда можно на стороне бэка генерировать нужные данные и выводить их при загрузке странице без js и localStorage

Сообщение отредактировал SEOMR - 14.3.2021, 11:53


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
tedder
tedder
сообщение 15.3.2021, 13:40; Ответить: tedder
Сообщение #5


Проще всего через cookie - минимум кода и проверок https://learn.javascript.ru/cookie

Сообщение отредактировал tedder - 15.3.2021, 13:42
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
miskacashi
miskacashi
сообщение 26.3.2021, 2:06; Ответить: miskacashi
Сообщение #6


Вот рабочий и правильный код

Код
html
    <a href="#" id="adLink" title="" target="_blank">
    <img src="images/1.jpg" id="adBanner" width="300" height="250" alt="" /></a>

javascript:

    var imgs = new Array("images/1.jpg", "images/2.jpg", "images/3.jpg");
    var links = new Array("#", "#", "#");
    var alt = new Array("баннер-1", "баннер-2", "баннер-3");
    var title = new Array("title-1","title-2","title-3");
    var currentAd = 0;
    var imgCt = 3;
    function cycle() {
    if (currentAd == imgCt) {
     currentAd = 0;
    }
    var banner = document.getElementById('adBanner');
    var link = document.getElementById('adLink');
    banner.src = imgs[currentAd]
    banner.alt = alt[currentAd]
    banner.title = title[currentAd]
    document.getElementById('adLink').href = links[currentAd]
    currentAd++;
    }
    window.setInterval("cycle()", 5000);


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Сообщение отредактировал miskacashi - 26.3.2021, 2:07
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) PROXY-STORE.COM — ipV4 прокси от 42р В МЕСЯЦ с ротацией и без! Лучшая цена на рынке. 200+ стран
18 proxystore 4687 Вчера, 20:00
автор: proxystore
Открытая тема (нет новых ответов) Нужна ли плоская структура категорий в ИМ?
1 noviktamw 1066 26.3.2024, 21:50
автор: c4p1t4l15t
Открытая тема (нет новых ответов) Требуется помощь по сайту на "ВордПресс"
Закрылся доступ в панель администратора
12 Tia2 1533 25.3.2024, 6:54
автор: Skyworker
Открытая тема (нет новых ответов) IPgate - мобильные, резидентные, 100% чистые прокси с ротацией, полученные этическим способом
8 IPgate 2704 22.3.2024, 16:39
автор: IPgate
Открытая тема (нет новых ответов) требуется помощь с themasoftware (Темапостером)
0 Taylor 568 16.3.2024, 18:41
автор: Taylor


 



RSS Текстовая версия Сейчас: 29.3.2024, 11:30
Дизайн