Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Переход по ссылке при клике на id блока (https://javascript.ru/forum/css-html/74510-perekhod-po-ssylke-pri-klike-na-id-bloka.html)

artemii 18.07.2018 18:14

Цитата:

Сообщение от Dilettante_Pro (Сообщение 490178)
artemii,
Это и есть скрипт обработчика клика.
он должен установиться на элементы div id="idglub*"
Сейчас установился - но не срабатывает.
Попробуйте вместо
jQuery(this).find('a').trigger('click');
поставить
jQuery(this).find('a:first').trigger('click');

Цитата:

Сообщение от Dilettante_Pro (Сообщение 490181)
artemii,
Обработчик установился, но клик почему-то не передается на ссылку... Странно.
А не пробовали вариант с массивом ссылок - только правильный и в правильном месте?

Продублируйте пожалуйста правильный вариант с массивом)

Dilettante_Pro 18.07.2018 18:32

artemii,
Правильный скрипт
var refer = ['https://zaogss.ru/bolshaya-pochtovaya/','https://zaogss.ru/nagatinskaya/','https://zaogss.ru/stahanovskaya/'];
 $("div[id*=idglub]").on('click', function(){
     var idx = +this.id.replace(/\D+/g,"") - 1;
document.location.href = refer[idx];
 });


По старой ссылке https://vk.cc/8hHO5q
у вас стоят два варианта обработчика: новый и по массивам с ошибкой.
Надо убрать новый и исправить ошибку

Dilettante_Pro 18.07.2018 18:44

artemii,
Я попробовал на вашем сайте по старой ссылке: вручную удалил два неправильных и поставил правильный обработчик с массивом ссылок - все работает нормально.
Так что сделайте аккуратно - все получится.

artemii 18.07.2018 20:01

Цитата:

Сообщение от Dilettante_Pro (Сообщение 490188)
artemii,
Я попробовал на вашем сайте по старой ссылке: вручную удалил два неправильных и поставил правильный обработчик с массивом ссылок - все работает нормально.
Так что сделайте аккуратно - все получится.

https://vk.cc/8hUsXX по этой ссылке БЕЗ лишних скриптов и только с
<script>
var refer = ['https://zaogss.ru/bolshaya-pochtovaya/','https://zaogss.ru/nagatinskaya/','https://zaogss.ru/stahanovskaya/'];
 $("div[id*=idglub]").on('click', function(){
     var idx = +this.id.replace(/D+/g,"") - 1;
document.location.href = refer[idx];
 });
</script>


все равно ничего не пашет....
ВП почему то удаляет символ "\" , я не могу понять причину этого

artemii 18.07.2018 20:04

Вот скрин того что вышло, лишнего нет, "\" на месте
https://pp.userapi.com/c846121/v8461...WuuwiqcE_g.jpg
но - толку нет...

Dilettante_Pro 19.07.2018 10:31

artemii,
В примере по ссылке https://vk.cc/8hUsXX у вас такой обработчик:
window.onload = function () {
    document.getElementById('idglub1').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/bolshaya-pochtovaya/'
    }
    document.getElementById('idglub2').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/nagatinskaya/'
    }
    document.getElementById('idglub3').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/stahanovskaya/'
    }
    document.getElementById('idglub4').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/novodevichij-monastyr/'
    }
    document.getElementById('idglub5').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/ulitsa-mishina/'
    }
    document.getElementById('idglub6').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/novoperedelkino/'
    }
    document.getElementById('idglub7').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/sheremetevo/'
    }
    document.getElementById('idglub8').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/paveletskaya/'
    }
    document.getElementById('idglub9').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/zhivopisnaya/'
    }
    document.getElementById('idglub10').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/zil/'
    }
    document.getElementById('idglub11').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/proizvodstvennaya-ulitsa/'
    }
    document.getElementById('idglub12').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/tets/'
    }
    document.getElementById('idglub13').onclick = function() {
        document.location.href = 'http://zaogss.ru/portfolio/k-36/'
..................................

- и работает.
Вот и поставьте внутри window.onload = function () {
вместо обработчиков для каждого вот это
var refer = ['https://zaogss.ru/bolshaya-pochtovaya/','https://zaogss.ru/nagatinskaya/','https://zaogss.ru/stahanovskaya/'];
 jQuery("div[id*=idglub]").on('click', function(){
     var idx = +this.id.replace(/\D+/g,"") - 1;
document.location.href = refer[idx];
 });

- ДОЛЖНО работать. Это то же самое, что и у вас, только в свернутом виде.

Я же вставлял руками снаружи в ваш код - работало.


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