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)

Dilettante_Pro 18.07.2018 11:39

Цитата:

Сообщение от artemii
А есть возможность сделать скрипт который именно по айдишникам бы работал?
то есть при клике на айди1 был переход на ссылку 1, на айди2 на ссылку2 и так далее..

Смотрите пост 18

j0hnik 18.07.2018 11:51

<div id="href1">блок1</div>
<div id="href3">блок3</div>
<div id="href2">блок2</div>
<script>
	var obj = {
		href1:'https://google.com',
		href2:'https://yandex.ru',
		href3:'http://vk.com'
	};
	document.querySelectorAll('div[id^="href"]').forEach((el,i)=> el.onclick=e=> location = obj[el.id]);
</script>

artemii 18.07.2018 12:40

Цитата:

Сообщение от j0hnik (Сообщение 490099)
<div id="href1">блок1</div>
<div id="href3">блок3</div>
<div id="href2">блок2</div>
<script>
	var obj = {
		href1:'https://google.com',
		href2:'https://yandex.ru',
		href3:'http://vk.com'
	};
	document.querySelectorAll('div[id^="href"]').forEach((el,i)=> el.onclick=e=> location = obj[el.id]);
</script>

Спасибо, логика понятно, но данный скрипт почему то не работает на WP(

j0hnik 18.07.2018 12:42

artemii,
у меня работает =)

artemii 18.07.2018 12:44

Цитата:

Сообщение от Dilettante_Pro (Сообщение 490086)
Ссылки из массива
<style>
div {width:50px;
       height:20px;
       background:gray;
       border:1px solid black;}
</style>
<div id = "idglub1">idglub1</div>
<div id = "idglub2">idglub2</div>
<div id = "idglub3">idglub3</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
var refer = ['Ссылка1','Ссылка2','Ссылка3'];
 $("div[id*=idglub]").on('click', function(){
     var idx = +this.id.replace(/\D+/g,"") - 1;
     alert(refer[idx]);
    //  document.location.href = refer[idx];
 });
</script>

Ваш скрипт работает, но почему то ссылки выпадают в таком виде "https://сайт/glub/undefined"

В чем может быть ошибка?

artemii 18.07.2018 12:45

Вот как это сейчас работает, на первых 3х блоках работ
https://vk.cc/8hHO5q

Dilettante_Pro 18.07.2018 14:41

artemii,:cray:
Вы прямо так и вставили?
<script type="text/javascript">
src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"
ar refer = ['Ссылка1','Ссылка2','Ссылка3'];
 $("div[id*=idglub]").on('click', function(){
     var idx = +this.id.replace(/\D+/g,"") - 1;
     alert(refer[idx]);
 });</script>

еще и с ошибками - кусок от загрузки jQuery, ar refer

Поздравляю!
Я ведь у вас неоднократно спрашивал насчет ссылок.

И вообще - зачем это нужно?
Там и так все нормально работает по ссылкам, заложенным в блоки.

artemii 18.07.2018 14:48

Цитата:

Сообщение от Dilettante_Pro (Сообщение 490086)
Ссылки из массива
<style>
div {width:50px;
       height:20px;
       background:gray;
       border:1px solid black;}
</style>
<div id = "idglub1">idglub1</div>
<div id = "idglub2">idglub2</div>
<div id = "idglub3">idglub3</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
var refer = ['Ссылка1','Ссылка2','Ссылка3'];
 $("div[id*=idglub]").on('click', function(){
     var idx = +this.id.replace(/\D+/g,"") - 1;
     alert(refer[idx]);
    //  document.location.href = refer[idx];
 });
</script>

Цитата:

Сообщение от Dilettante_Pro (Сообщение 490144)
artemii,:cray:
Вы прямо так и вставили?
<script type="text/javascript">
src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"
ar refer = ['Ссылка1','Ссылка2','Ссылка3'];
 $("div[id*=idglub]").on('click', function(){
     var idx = +this.id.replace(/\D+/g,"") - 1;
     alert(refer[idx]);
 });</script>

еще и с ошибками - кусок от загрузки jQuery, ar refer

Поздравляю!
Я ведь у вас неоднократно спрашивал насчет ссылок.

И вообще - зачем это нужно?
Там и так все нормально работает по ссылкам, заложенным в блоки.

Я конечно же вставил свои ссылки) Но не работает
Нужно для того чтобы кликабельным был ВЕСЬ блок (квадратик этот анимированный, а не только картинка и заголовок)

Подскажите пожалуйста в чем ошибка

Dilettante_Pro 18.07.2018 14:55

Цитата:

Сообщение от artemii
Я конечно же вставил свои ссылки)

Где? Этот скрипт я взял с вашего сайта.
Есть еще куски?

Dilettante_Pro 18.07.2018 14:56

Цитата:

Сообщение от artemii
Нужно для того чтобы кликабельным был ВЕСЬ блок (квадратик этот анимированный, а не только картинка и заголовок)

Для этого достаточно вызвать событие click на вложенной в блок ссылке.


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